Jekyll
2022-03-25T18:47:37+09:00
/feed.xml

# Development-team-1

커피픽업 서비스 관련 docs

# Just Pickup이란?

2022-03-25T00:00:00+09:00
2022-03-25T00:00:00+09:00
/Just%20pickup%EC%9D%B4%EB%9E%80
<h1 id="readmemd">README.md</h1>

<p>생성일: March 23, 2022 7:16 PM</p>

<h2 id="just-pickup---프로젝트-기획-배경-및-목표-개요">Just pickup! - 프로젝트 기획 배경 및 목표 (개요)</h2>

<hr />

<p><img src="/images/Untitled.png" alt="Untitled" /></p>

<p><strong>기획배경</strong></p>

<p>현업에서 오래된 모놀리틱 서비스를 유지보수 해보면서 프로그램은 점점 노후화되고, 새로운 기술을 적용하기에는 프로그램의 의존성에 묶여 시도하기가 힘든 환경이 되가면서 점점 MSA에 관심이 가게 되었습니다.</p>

<p>그래서 기술적용에 자유롭고 도메인 변경에 유연하게 대처할수 있는 MSA를 적용한 프로젝트를 만들어보자는 생각을 가졌습니다. 같은 고민을 가지고 있는 개발자 2명이 모여서 MSA을 적용한 프로젝트인 Just pickup!을 기획하였습니다. Just pickup! 이란 사용자가 카페로 간단하게 주문을 넣어서 단지 픽업을 하면 된다는 뜻으로 만들었습니다.</p>

<p><strong>애자일</strong></p>

<p>저희는 프로젝트 생명주기 동안 <strong>애자일</strong>을 적용하여 이벤트 스토밍을 적용하였으며 <strong><a href="https://github.com/Development-team-1/just-pickup#%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8A%A4%ED%86%A0%EB%B0%8D-event-storming">(!이벤트스토밍 링크)</a></strong></p>

<p>이슈에 유연하게 대처하기 위해 github issue를 적극 활용하였습니다.</p>

<p><strong>기술</strong></p>

<p>spring cloud 오픈소스 기반으로 마이크로 서비스 아키텍처를 설계하여 개발하였습니다.</p>

<h2 id="설계서">설계서</h2>

<hr />

<p>…</p>

<h3 id="api-설계-️">API 설계 ✏️</h3>

<table> <thead> <tr> <th>서비스</th> <th>설계서</th> </tr> </thead> <tbody> <tr> <td>유저 서비스</td> <td>창훈</td> </tr> <tr> <td>매장</td> <td>상범</td> </tr> <tr> <td>주문</td> <td>상범</td> </tr> <tr> <td>알림</td> <td>창훈</td> </tr> </tbody> </table>

<h3 id="overview-"><strong>**Overview</strong>** 🔎</h3>

<ul> <li>점주 <ul> <li>창훈</li> </ul> </li> <li>사용자 <ul> <li>상범</li> </ul> </li> </ul>

<h2 id="아키텍처">아키텍처</h2>

<hr />

<h3 id="기술-스택-및-개발환경">기술 스택 및 개발환경</h3>

<ul> <li>상범</li> <li>Spring Boot <ul> <li>Spring Framwork XX</li> <li>…</li> </ul> </li> <li>Vue <ul> <li>Vue-Router</li> <li>…</li> </ul> </li> </ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>1. 췍 2. 췍 3. 췍췍 </code></pre></div></div>

<h3 id="시스템-아키텍처">시스템 아키텍처</h3>

<ul> <li>창훈</li> </ul>

<p>[작성 예정] 하단은 예시</p>

<p><img src="/images/Untitled%201.png" alt="Untitled" /></p>

<h3 id="micro-service-통신">Micro service 통신</h3>

<ul> <li>Zipkin <img src="/images/Untitled%202.png" alt="Untitled" /></li> </ul>

<h2 id="주요-이슈">주요 이슈</h2>

<hr />

<ul> <li><a href="https://www.notion.so/9af1b880c93b4420a7ab70c3cd3c5723">JWT 구현</a> (링크달기)</li> <li>…</li> <li></li> </ul>

<h2 id="build--run">build &amp; run</h2>

<hr />

<p>[도커 실행방법 작성]</p>

<ul> <li>상범</li> </ul>
README.md

# Notification service api 문서

2022-03-24T00:00:00+09:00
2022-03-24T00:00:00+09:00
/Notification%20Service%20API%20%EB%AC%B8%EC%84%9C
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="generator" content="Asciidoctor 2.0.10"> <title>개요</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> <style> /* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ /* Uncomment @import statement to use as custom stylesheet */ /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block} audio,video{display:inline-block} audio:not([controls]){display:none;height:0} html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} a{background:none} a:focus{outline:thin dotted} a:active,a:hover{outline:0} h1{font-size:2em;margin:.67em 0} abbr[title]{border-bottom:1px dotted} b,strong{font-weight:bold} dfn{font-style:italic} hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} mark{background:#ff0;color:#000} code,kbd,pre,samp{font-family:monospace;font-size:1em} pre{white-space:pre-wrap} q{quotes:"\201C" "\201D" "\2018" "\2019"} small{font-size:80%} sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} sup{top:-.5em} sub{bottom:-.25em} img{border:0} svg:not(:root){overflow:hidden} figure{margin:0} fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} legend{border:0;padding:0} button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} button,input{line-height:normal} button,select{text-transform:none} button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} button[disabled],html input[disabled]{cursor:default} input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} textarea{overflow:auto;vertical-align:top} table{border-collapse:collapse;border-spacing:0} *,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} html,body{font-size:100%} body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} a:hover{cursor:pointer} img,object,embed{max-width:100%;height:auto} object,embed{height:100%} img{-ms-interpolation-mode:bicubic} .left{float:left!important} .right{float:right!important} .text-left{text-align:left!important} .text-right{text-align:right!important} .text-center{text-align:center!important} .text-justify{text-align:justify!important} .hide{display:none} img,object,svg{display:inline-block;vertical-align:middle} textarea{height:auto;min-height:50px} select{width:100%} .center{margin-left:auto;margin-right:auto} .stretch{width:100%} .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} a{color:#2156a5;text-decoration:underline;line-height:inherit} a:hover,a:focus{color:#1d4b8f} a img{border:0} p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} p aside{font-size:.875em;line-height:1.35;font-style:italic} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} h1{font-size:2.125em} h2{font-size:1.6875em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} h4,h5{font-size:1.125em} h6{font-size:1em} hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} em,i{font-style:italic;line-height:inherit} strong,b{font-weight:bold;line-height:inherit} small{font-size:60%;line-height:inherit} code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} ul,ol{margin-left:1.5em} ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} ul.square{list-style-type:square} ul.circle{list-style-type:circle} ul.disc{list-style-type:disc} ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} dl dt{margin-bottom:.3125em;font-weight:bold} dl dd{margin-bottom:1.25em} abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} abbr{text-transform:none} blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} blockquote cite::before{content:"\2014 \0020"} blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} h1{font-size:2.75em} h2{font-size:2.3125em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} h4{font-size:1.4375em}} table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} table thead,table tfoot{background:#f7f8f7} table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} table tr.even,table tr.alt{background:#f8f8f7} table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} .clearfix::after,.float-group::after{clear:both} :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} :not(pre)>code.nobreak{word-wrap:normal} :not(pre)>code.nowrap{white-space:nowrap} pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} pre>code{display:block} pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} em em{font-style:normal} strong strong{font-weight:400} .keyseq{color:rgba(51,51,51,.8)} kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} .keyseq kbd:first-child{margin-left:0} .keyseq kbd:last-child{margin-right:0} .menuseq,.menuref{color:#000} .menuseq b:not(.caret),.menuref{font-weight:inherit} .menuseq{word-spacing:-.02em} .menuseq b.caret{font-size:1.25em;line-height:.8} .menuseq i.caret{font-weight:bold;text-align:center;width:.45em} b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} b.button::before{content:"[";padding:0 3px 0 2px} b.button::after{content:"]";padding:0 2px 0 3px} p a>code:hover{color:rgba(0,0,0,.9)} #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} #header::after,#content::after,#footnotes::after,#footer::after{clear:both} #content{margin-top:1.25em} #content::before{content:none} #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} #header .details span:first-child{margin-left:-.125em} #header .details span.email a{color:rgba(0,0,0,.85)} #header .details br{display:none} #header .details br+span::before{content:"\00a0\2013\00a0"} #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} #header .details br+span#revremark::before{content:"\00a0|\00a0"} #header #revnumber{text-transform:capitalize} #header #revnumber::after{content:"\00a0"} #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} #toc>ul{margin-left:.125em} #toc ul.sectlevel0>li>a{font-style:italic} #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} #toc li{line-height:1.3334;margin-top:.3334em} #toc a{text-decoration:none} #toc a:active{text-decoration:underline} #toctitle{color:#7a2518;font-size:1.2em} @media screen and (min-width:768px){#toctitle{font-size:1.375em} body.toc2{padding-left:15em;padding-right:0} #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} #toc.toc2>ul{font-size:.9em;margin-bottom:0} #toc.toc2 ul ul{margin-left:0;padding-left:1em} #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} body.toc2.toc-right{padding-left:0;padding-right:15em} body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} #toc.toc2{width:20em} #toc.toc2 #toctitle{font-size:1.375em} #toc.toc2>ul{font-size:.95em} #toc.toc2 ul ul{padding-left:1.25em} body.toc2.toc-right{padding-left:0;padding-right:20em}} #content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} #content #toc>:first-child{margin-top:0} #content #toc>:last-child{margin-bottom:0} #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em} #footer-text{color:rgba(255,255,255,.8);line-height:1.44} #content{margin-bottom:.625em} .sect1{padding-bottom:.625em} @media screen and (min-width:768px){#content{margin-bottom:1.25em} .sect1{padding-bottom:1.25em}} .sect1:last-child{padding-bottom:0} .sect1+.sect1{border-top:1px solid #e7e7e9} #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} #content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em} .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} .paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit} .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} .admonitionblock>table td.icon{text-align:center;width:80px} .admonitionblock>table td.icon img{max-width:none} .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)} .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} .exampleblock>.content>:first-child{margin-top:0} .exampleblock>.content>:last-child{margin-bottom:0} .sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px} .sidebarblock>:first-child{margin-top:0} .sidebarblock>:last-child{margin-bottom:0} .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} .literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em} @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} .listingblock>.content{position:relative} .listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} .listingblock:hover code[data-lang]::before{display:block} .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} .listingblock pre.highlightjs{padding:0} .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} .listingblock pre.prettyprint{border-width:0} .prettyprint{background:#f7f7f8} pre.prettyprint .linenums{line-height:1.45;margin-left:2em} pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} pre.prettyprint li code[data-lang]::before{opacity:1} pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} table.linenotable td.code{padding-left:.75em} table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em} pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em} pre.pygments .lineno::before{content:"";margin-right:-.125em} .quoteblock{margin:0 1em 1.25em 1.5em;display:table} .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} .quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} .quoteblock blockquote{margin:0;padding:0;border:0} .quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} .verseblock{margin:0 1em 1.25em} .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} .verseblock pre strong{font-weight:400} .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} .quoteblock .attribution br,.verseblock .attribution br{display:none} .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} .quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} .quoteblock.abstract{margin:0 1em 1.25em;display:block} .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0} table.tableblock{max-width:100%;border-collapse:separate} p.tableblock:last-child{margin-bottom:0} td.tableblock>.content>:last-child{margin-bottom:-1.25em} td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0} table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px} table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0} table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} table.frame-all{border-width:1px} table.frame-sides{border-width:0 1px} table.frame-topbot,table.frame-ends{border-width:1px 0} table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7} th.halign-left,td.halign-left{text-align:left} th.halign-right,td.halign-right{text-align:right} th.halign-center,td.halign-center{text-align:center} th.valign-top,td.valign-top{vertical-align:top} th.valign-bottom,td.valign-bottom{vertical-align:bottom} th.valign-middle,td.valign-middle{vertical-align:middle} table thead th,table tfoot th{font-weight:bold} tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} p.tableblock>code:only-child{background:none;padding:0} p.tableblock{font-size:1em} ol{margin-left:1.75em} ul li ol{margin-left:1.5em} dl dd{margin-left:1.125em} dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} ul.unstyled,ol.unstyled{margin-left:0} ul.checklist{margin-left:.625em} ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} ul.inline>li{margin-left:1.25em} .unstyled dl dt{font-weight:400;font-style:normal} ol.arabic{list-style-type:decimal} ol.decimal{list-style-type:decimal-leading-zero} ol.loweralpha{list-style-type:lower-alpha} ol.upperalpha{list-style-type:upper-alpha} ol.lowerroman{list-style-type:lower-roman} ol.upperroman{list-style-type:upper-roman} ol.lowergreek{list-style-type:lower-greek} .hdlist>table,.colist>table{border:0;background:none} .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} td.hdlist1{font-weight:bold;padding-bottom:1.25em} .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} .colist td:not([class]):first-child img{max-width:none} .colist td:not([class]):last-child{padding:.25em 0} .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} .imageblock.left{margin:.25em .625em 1.25em 0} .imageblock.right{margin:.25em 0 1.25em .625em} .imageblock>.title{margin-bottom:0} .imageblock.thumb,.imageblock.th{border-width:6px} .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} .image.left{margin-right:.625em} .image.right{margin-left:.625em} a.image{text-decoration:none;display:inline-block} a.image object{pointer-events:none} sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} sup.footnote a,sup.footnoteref a{text-decoration:none} sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} #footnotes .footnote:last-of-type{margin-bottom:0} #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} .gist .file-data>table td.line-data{width:99%} div.unbreakable{page-break-inside:avoid} .big{font-size:larger} .small{font-size:smaller} .underline{text-decoration:underline} .overline{text-decoration:overline} .line-through{text-decoration:line-through} .aqua{color:#00bfbf} .aqua-background{background:#00fafa} .black{color:#000} .black-background{background:#000} .blue{color:#0000bf} .blue-background{background:#0000fa} .fuchsia{color:#bf00bf} .fuchsia-background{background:#fa00fa} .gray{color:#606060} .gray-background{background:#7d7d7d} .green{color:#006000} .green-background{background:#007d00} .lime{color:#00bf00} .lime-background{background:#00fa00} .maroon{color:#600000} .maroon-background{background:#7d0000} .navy{color:#000060} .navy-background{background:#00007d} .olive{color:#606000} .olive-background{background:#7d7d00} .purple{color:#600060} .purple-background{background:#7d007d} .red{color:#bf0000} .red-background{background:#fa0000} .silver{color:#909090} .silver-background{background:#bcbcbc} .teal{color:#006060} .teal-background{background:#007d7d} .white{color:#bfbfbf} .white-background{background:#fafafa} .yellow{color:#bfbf00} .yellow-background{background:#fafa00} span.icon>.fa{cursor:default} a span.icon>.fa{cursor:inherit} .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} .conum[data-value] *{color:#fff!important} .conum[data-value]+b{display:none} .conum[data-value]::after{content:attr(data-value)} pre .conum[data-value]{position:relative;top:-.125em} b.conum *{color:inherit!important} .conum:not([data-value]):empty{display:none} dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} h1,h2,p,td.content,span.alt{letter-spacing:-.01em} p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} p{margin-bottom:1.25rem} .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} .print-only{display:none!important} @page{margin:1.25cm .75cm} @media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} html{font-size:80%} a{color:inherit!important;text-decoration:underline!important} a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} abbr[title]::after{content:" (" attr(title) ")"} pre,blockquote,tr,img,object,svg{page-break-inside:avoid} thead{display:table-header-group} svg{max-width:100%} p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} #toc,.sidebarblock,.exampleblock>.content{background:none!important} #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} body.book #header{text-align:center} body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} body.book #header .details{border:0!important;display:block;padding:0!important} body.book #header .details span:first-child{margin-left:0!important} body.book #header .details br{display:block} body.book #header .details br+span::before{content:none!important} body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} .listingblock code[data-lang]::before{display:block} #footer{padding:0 .9375em} .hide-on-print{display:none!important} .print-only{display:block!important} .hide-for-print{display:none!important} .show-for-print{display:inherit!important}} @media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem} .sect1{padding:0!important} .sect1+.sect1{border:0} #footer{background:none} #footer-text{color:rgba(0,0,0,.6);font-size:.9em}} @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} </style> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <body id="overview" class="book toc2 toc-left"> <div id="header"> <h1>개요</h1> <div class="details"> <span id="revnumber">version 1.0</span> </div> <div id="toc" class="toc2"> <div id="toctitle">Table of Contents</div> <ul class="sectlevel1"> <li><a href="#overview-http-verbs">HTTP 동사</a></li> <li><a href="#overview-http-status-codes">HTTP 상태 코드</a></li> <li><a href="#_알림">알림</a> <ul class="sectlevel2"> <li><a href="#_알림_조회_회원_고유번호">알림 조회 - 회원 고유번호</a></li> <li><a href="#_알림_수정">알림 수정</a></li> </ul> </li> <li><a href="#_api">API</a> <ul class="sectlevel2"> <li><a href="#_읽지_않은_알림_개수_조회">읽지 않은 알림 개수 조회</a></li> </ul> </li> </ul> </div> </div> <div id="content"> <div class="sect1"> <h2 id="overview-http-verbs"><a class="link" href="#overview-http-verbs">HTTP 동사</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">동사</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>GET</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">리소스를 가져올 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>POST</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 만들 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PUT</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PATCH</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스의 일부를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DELETE</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 삭제할 떄 사용</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="overview-http-status-codes"><a class="link" href="#overview-http-status-codes">HTTP 상태 코드</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">상태 코드</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>200 OK</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청을 성공적으로 처리함</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>201 Created</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 성공적으로 생성함. 응답의 <code>Location</code> 헤더에 해당 리소스의 URI가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>204 No Content</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 성공적으로 수정함.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>400 Bad Request</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>404 Not Found</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청한 리소스가 없음.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>409 Conflict</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우.</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="_알림"><a class="link" href="#_알림">알림</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_알림_조회_회원_고유번호"><a class="link" href="#_알림_조회_회원_고유번호">알림 조회 - 회원 고유번호</a></h3> <div class="sect3"> <h4 id="_알림_조회_회원_고유번호_curl_request"><a class="link" href="#_알림_조회_회원_고유번호_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://https://just-pickup.com:8000/notifications' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_알림_조회_회원_고유번호_http_request"><a class="link" href="#_알림_조회_회원_고유번호_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8000/notifications HTTP/1.1 user-id: 1 Host: https</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_알림_조회_회원_고유번호_http_response"><a class="link" href="#_알림_조회_회원_고유번호_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1693

{ "code" : "SUCCESS", "message" : "", "data" : { "notifications" : [ { "id" : 1, "message" : "1번 메시지 예시입니다.", "title" : "제목1", "read" : true, "time" : "2022-03-25 17:56" }, { "id" : 2, "message" : "2번 메시지 예시입니다.", "title" : "제목2", "read" : true, "time" : "2022-03-25 17:56" }, { "id" : 3, "message" : "3번 메시지 예시입니다.", "title" : "제목3", "read" : true, "time" : "2022-03-25 17:56" }, { "id" : 4, "message" : "4번 메시지 예시입니다.", "title" : "제목4", "read" : true, "time" : "2022-03-25 17:56" }, { "id" : 5, "message" : "5번 메시지 예시입니다.", "title" : "제목5", "read" : true, "time" : "2022-03-25 17:56" }, { "id" : 6, "message" : "6번 메시지 예시입니다.", "title" : "제목6", "read" : false, "time" : "2022-03-25 17:56" }, { "id" : 7, "message" : "7번 메시지 예시입니다.", "title" : "제목7", "read" : false, "time" : "2022-03-25 17:56" }, { "id" : 8, "message" : "8번 메시지 예시입니다.", "title" : "제목8", "read" : false, "time" : "2022-03-25 17:56" }, { "id" : 9, "message" : "9번 메시지 예시입니다.", "title" : "제목9", "read" : false, "time" : "2022-03-25 17:56" }, { "id" : 10, "message" : "10번 메시지 예시입니다.", "title" : "제목10", "read" : false, "time" : "2022-03-25 17:56" } ] } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_알림_조회_회원_고유번호_request_headers"><a class="link" href="#_알림_조회_회원_고유번호_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_알림_조회_회원_고유번호_response_fields"><a class="link" href="#_알림_조회_회원_고유번호_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.notifications[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.notifications[*].message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 내용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.notifications[*].title</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 제목</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.notifications[*].read</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 읽음 여부</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.notifications[*].time</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 생성 시간 [YYYY-MM-DD HH:MM]</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_알림_수정"><a class="link" href="#_알림_수정">알림 수정</a></h3> <div class="sect3"> <h4 id="_알림_수정_curl_request"><a class="link" href="#_알림_수정_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://https://just-pickup.com:8000/notification/1' -i -X PATCH \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "read" : true }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_알림_수정_http_request"><a class="link" href="#_알림_수정_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">PATCH //just-pickup.com:8000/notification/1 HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Content-Length: 19 Host: https

{ "read" : true }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_알림_수정_http_response"><a class="link" href="#_알림_수정_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 59

{ "code" : "SUCCESS", "message" : "", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_알림_수정_path_parameters"><a class="link" href="#_알림_수정_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /notification/{notificationId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>notificationId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_알림_수정_request_fields"><a class="link" href="#_알림_수정_request_fields">Request fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>read</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">읽음 여부</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_알림_수정_response_fields"><a class="link" href="#_알림_수정_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="sect1"> <h2 id="_api"><a class="link" href="#_api">API</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_읽지_않은_알림_개수_조회"><a class="link" href="#_읽지_않은_알림_개수_조회">읽지 않은 알림 개수 조회</a></h3> <div class="sect3"> <h4 id="_읽지_않은_알림_개수_조회_curl_request"><a class="link" href="#_읽지_않은_알림_개수_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://https://just-pickup.com:8000/api/notification/counts' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_읽지_않은_알림_개수_조회_http_request"><a class="link" href="#_읽지_않은_알림_개수_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8000/api/notification/counts HTTP/1.1 user-id: 1 Host: https</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_읽지_않은_알림_개수_조회_http_response"><a class="link" href="#_읽지_않은_알림_개수_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 57

{ "code" : "SUCCESS", "message" : "", "data" : 10 }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_읽지_않은_알림_개수_조회_request_headers"><a class="link" href="#_읽지_않은_알림_개수_조회_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_읽지_않은_알림_개수_조회_response_fields"><a class="link" href="#_읽지_않은_알림_개수_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">알림 개수</p></td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> Version 1.0<br> Last updated 2022-03-25 18:09:07 +0900 </div> </div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/github.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script> <script>hljs.initHighlighting()</script> </body> </html>
개요 개요 version 1.0 Table of Contents HTTP 동사 HTTP 상태 코드 알림 알림 조회 - 회원 고유번호 알림 수정 API 읽지 않은 알림 개수 조회 HTTP 동사 본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다. 동사 용례 GET 리소스를 가져올 때 사용 POST 새 리소스를 만들 때 사용 PUT 기존 리소스를 수정할 때 사용 PATCH 기존 리소스의 일부를 수정할 때 사용 DELETE 기존 리소스를 삭제할 떄 사용 HTTP 상태 코드 본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다. 상태 코드 용례 200 OK 요청을 성공적으로 처리함 201 Created 새 리소스를 성공적으로 생성함. 응답의 Location 헤더에 해당 리소스의 URI가 담겨있다. 204 No Content 기존 리소스를 성공적으로 수정함. 400 Bad Request 잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다. 404 Not Found 요청한 리소스가 없음. 409 Conflict 클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우. 알림 알림 조회 - 회원 고유번호 Curl request $ curl 'http://https://just-pickup.com:8000/notifications' -i -X GET \ -H 'user-id: 1' HTTP request GET //just-pickup.com:8000/notifications HTTP/1.1 user-id: 1 Host: https HTTP response HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1693

# Order service api 문서

2022-03-24T00:00:00+09:00
2022-03-24T00:00:00+09:00
/Order%20Service%20API%20%EB%AC%B8%EC%84%9C
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="generator" content="Asciidoctor 2.0.10"> <title>개요</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> <style> /* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ /* Uncomment @import statement to use as custom stylesheet */ /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block} audio,video{display:inline-block} audio:not([controls]){display:none;height:0} html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} a{background:none} a:focus{outline:thin dotted} a:active,a:hover{outline:0} h1{font-size:2em;margin:.67em 0} abbr[title]{border-bottom:1px dotted} b,strong{font-weight:bold} dfn{font-style:italic} hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} mark{background:#ff0;color:#000} code,kbd,pre,samp{font-family:monospace;font-size:1em} pre{white-space:pre-wrap} q{quotes:"\201C" "\201D" "\2018" "\2019"} small{font-size:80%} sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} sup{top:-.5em} sub{bottom:-.25em} img{border:0} svg:not(:root){overflow:hidden} figure{margin:0} fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} legend{border:0;padding:0} button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} button,input{line-height:normal} button,select{text-transform:none} button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} button[disabled],html input[disabled]{cursor:default} input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} textarea{overflow:auto;vertical-align:top} table{border-collapse:collapse;border-spacing:0} *,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} html,body{font-size:100%} body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} a:hover{cursor:pointer} img,object,embed{max-width:100%;height:auto} object,embed{height:100%} img{-ms-interpolation-mode:bicubic} .left{float:left!important} .right{float:right!important} .text-left{text-align:left!important} .text-right{text-align:right!important} .text-center{text-align:center!important} .text-justify{text-align:justify!important} .hide{display:none} img,object,svg{display:inline-block;vertical-align:middle} textarea{height:auto;min-height:50px} select{width:100%} .center{margin-left:auto;margin-right:auto} .stretch{width:100%} .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} a{color:#2156a5;text-decoration:underline;line-height:inherit} a:hover,a:focus{color:#1d4b8f} a img{border:0} p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} p aside{font-size:.875em;line-height:1.35;font-style:italic} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} h1{font-size:2.125em} h2{font-size:1.6875em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} h4,h5{font-size:1.125em} h6{font-size:1em} hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} em,i{font-style:italic;line-height:inherit} strong,b{font-weight:bold;line-height:inherit} small{font-size:60%;line-height:inherit} code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} ul,ol{margin-left:1.5em} ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} ul.square{list-style-type:square} ul.circle{list-style-type:circle} ul.disc{list-style-type:disc} ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} dl dt{margin-bottom:.3125em;font-weight:bold} dl dd{margin-bottom:1.25em} abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} abbr{text-transform:none} blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} blockquote cite::before{content:"\2014 \0020"} blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} h1{font-size:2.75em} h2{font-size:2.3125em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} h4{font-size:1.4375em}} table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} table thead,table tfoot{background:#f7f8f7} table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} table tr.even,table tr.alt{background:#f8f8f7} table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} .clearfix::after,.float-group::after{clear:both} :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} :not(pre)>code.nobreak{word-wrap:normal} :not(pre)>code.nowrap{white-space:nowrap} pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} pre>code{display:block} pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} em em{font-style:normal} strong strong{font-weight:400} .keyseq{color:rgba(51,51,51,.8)} kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} .keyseq kbd:first-child{margin-left:0} .keyseq kbd:last-child{margin-right:0} .menuseq,.menuref{color:#000} .menuseq b:not(.caret),.menuref{font-weight:inherit} .menuseq{word-spacing:-.02em} .menuseq b.caret{font-size:1.25em;line-height:.8} .menuseq i.caret{font-weight:bold;text-align:center;width:.45em} b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} b.button::before{content:"[";padding:0 3px 0 2px} b.button::after{content:"]";padding:0 2px 0 3px} p a>code:hover{color:rgba(0,0,0,.9)} #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} #header::after,#content::after,#footnotes::after,#footer::after{clear:both} #content{margin-top:1.25em} #content::before{content:none} #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} #header .details span:first-child{margin-left:-.125em} #header .details span.email a{color:rgba(0,0,0,.85)} #header .details br{display:none} #header .details br+span::before{content:"\00a0\2013\00a0"} #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} #header .details br+span#revremark::before{content:"\00a0|\00a0"} #header #revnumber{text-transform:capitalize} #header #revnumber::after{content:"\00a0"} #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} #toc>ul{margin-left:.125em} #toc ul.sectlevel0>li>a{font-style:italic} #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} #toc li{line-height:1.3334;margin-top:.3334em} #toc a{text-decoration:none} #toc a:active{text-decoration:underline} #toctitle{color:#7a2518;font-size:1.2em} @media screen and (min-width:768px){#toctitle{font-size:1.375em} body.toc2{padding-left:15em;padding-right:0} #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} #toc.toc2>ul{font-size:.9em;margin-bottom:0} #toc.toc2 ul ul{margin-left:0;padding-left:1em} #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} body.toc2.toc-right{padding-left:0;padding-right:15em} body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} #toc.toc2{width:20em} #toc.toc2 #toctitle{font-size:1.375em} #toc.toc2>ul{font-size:.95em} #toc.toc2 ul ul{padding-left:1.25em} body.toc2.toc-right{padding-left:0;padding-right:20em}} #content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} #content #toc>:first-child{margin-top:0} #content #toc>:last-child{margin-bottom:0} #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em} #footer-text{color:rgba(255,255,255,.8);line-height:1.44} #content{margin-bottom:.625em} .sect1{padding-bottom:.625em} @media screen and (min-width:768px){#content{margin-bottom:1.25em} .sect1{padding-bottom:1.25em}} .sect1:last-child{padding-bottom:0} .sect1+.sect1{border-top:1px solid #e7e7e9} #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} #content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em} .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} .paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit} .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} .admonitionblock>table td.icon{text-align:center;width:80px} .admonitionblock>table td.icon img{max-width:none} .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)} .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} .exampleblock>.content>:first-child{margin-top:0} .exampleblock>.content>:last-child{margin-bottom:0} .sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px} .sidebarblock>:first-child{margin-top:0} .sidebarblock>:last-child{margin-bottom:0} .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} .literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em} @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} .listingblock>.content{position:relative} .listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} .listingblock:hover code[data-lang]::before{display:block} .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} .listingblock pre.highlightjs{padding:0} .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} .listingblock pre.prettyprint{border-width:0} .prettyprint{background:#f7f7f8} pre.prettyprint .linenums{line-height:1.45;margin-left:2em} pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} pre.prettyprint li code[data-lang]::before{opacity:1} pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} table.linenotable td.code{padding-left:.75em} table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em} pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em} pre.pygments .lineno::before{content:"";margin-right:-.125em} .quoteblock{margin:0 1em 1.25em 1.5em;display:table} .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} .quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} .quoteblock blockquote{margin:0;padding:0;border:0} .quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} .verseblock{margin:0 1em 1.25em} .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} .verseblock pre strong{font-weight:400} .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} .quoteblock .attribution br,.verseblock .attribution br{display:none} .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} .quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} .quoteblock.abstract{margin:0 1em 1.25em;display:block} .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0} table.tableblock{max-width:100%;border-collapse:separate} p.tableblock:last-child{margin-bottom:0} td.tableblock>.content>:last-child{margin-bottom:-1.25em} td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0} table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px} table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0} table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} table.frame-all{border-width:1px} table.frame-sides{border-width:0 1px} table.frame-topbot,table.frame-ends{border-width:1px 0} table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7} th.halign-left,td.halign-left{text-align:left} th.halign-right,td.halign-right{text-align:right} th.halign-center,td.halign-center{text-align:center} th.valign-top,td.valign-top{vertical-align:top} th.valign-bottom,td.valign-bottom{vertical-align:bottom} th.valign-middle,td.valign-middle{vertical-align:middle} table thead th,table tfoot th{font-weight:bold} tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} p.tableblock>code:only-child{background:none;padding:0} p.tableblock{font-size:1em} ol{margin-left:1.75em} ul li ol{margin-left:1.5em} dl dd{margin-left:1.125em} dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} ul.unstyled,ol.unstyled{margin-left:0} ul.checklist{margin-left:.625em} ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} ul.inline>li{margin-left:1.25em} .unstyled dl dt{font-weight:400;font-style:normal} ol.arabic{list-style-type:decimal} ol.decimal{list-style-type:decimal-leading-zero} ol.loweralpha{list-style-type:lower-alpha} ol.upperalpha{list-style-type:upper-alpha} ol.lowerroman{list-style-type:lower-roman} ol.upperroman{list-style-type:upper-roman} ol.lowergreek{list-style-type:lower-greek} .hdlist>table,.colist>table{border:0;background:none} .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} td.hdlist1{font-weight:bold;padding-bottom:1.25em} .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} .colist td:not([class]):first-child img{max-width:none} .colist td:not([class]):last-child{padding:.25em 0} .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} .imageblock.left{margin:.25em .625em 1.25em 0} .imageblock.right{margin:.25em 0 1.25em .625em} .imageblock>.title{margin-bottom:0} .imageblock.thumb,.imageblock.th{border-width:6px} .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} .image.left{margin-right:.625em} .image.right{margin-left:.625em} a.image{text-decoration:none;display:inline-block} a.image object{pointer-events:none} sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} sup.footnote a,sup.footnoteref a{text-decoration:none} sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} #footnotes .footnote:last-of-type{margin-bottom:0} #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} .gist .file-data>table td.line-data{width:99%} div.unbreakable{page-break-inside:avoid} .big{font-size:larger} .small{font-size:smaller} .underline{text-decoration:underline} .overline{text-decoration:overline} .line-through{text-decoration:line-through} .aqua{color:#00bfbf} .aqua-background{background:#00fafa} .black{color:#000} .black-background{background:#000} .blue{color:#0000bf} .blue-background{background:#0000fa} .fuchsia{color:#bf00bf} .fuchsia-background{background:#fa00fa} .gray{color:#606060} .gray-background{background:#7d7d7d} .green{color:#006000} .green-background{background:#007d00} .lime{color:#00bf00} .lime-background{background:#00fa00} .maroon{color:#600000} .maroon-background{background:#7d0000} .navy{color:#000060} .navy-background{background:#00007d} .olive{color:#606000} .olive-background{background:#7d7d00} .purple{color:#600060} .purple-background{background:#7d007d} .red{color:#bf0000} .red-background{background:#fa0000} .silver{color:#909090} .silver-background{background:#bcbcbc} .teal{color:#006060} .teal-background{background:#007d7d} .white{color:#bfbfbf} .white-background{background:#fafafa} .yellow{color:#bfbf00} .yellow-background{background:#fafa00} span.icon>.fa{cursor:default} a span.icon>.fa{cursor:inherit} .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} .conum[data-value] *{color:#fff!important} .conum[data-value]+b{display:none} .conum[data-value]::after{content:attr(data-value)} pre .conum[data-value]{position:relative;top:-.125em} b.conum *{color:inherit!important} .conum:not([data-value]):empty{display:none} dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} h1,h2,p,td.content,span.alt{letter-spacing:-.01em} p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} p{margin-bottom:1.25rem} .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} .print-only{display:none!important} @page{margin:1.25cm .75cm} @media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} html{font-size:80%} a{color:inherit!important;text-decoration:underline!important} a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} abbr[title]::after{content:" (" attr(title) ")"} pre,blockquote,tr,img,object,svg{page-break-inside:avoid} thead{display:table-header-group} svg{max-width:100%} p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} #toc,.sidebarblock,.exampleblock>.content{background:none!important} #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} body.book #header{text-align:center} body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} body.book #header .details{border:0!important;display:block;padding:0!important} body.book #header .details span:first-child{margin-left:0!important} body.book #header .details br{display:block} body.book #header .details br+span::before{content:none!important} body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} .listingblock code[data-lang]::before{display:block} #footer{padding:0 .9375em} .hide-on-print{display:none!important} .print-only{display:block!important} .hide-for-print{display:none!important} .show-for-print{display:inherit!important}} @media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem} .sect1{padding:0!important} .sect1+.sect1{border:0} #footer{background:none} #footer-text{color:rgba(0,0,0,.6);font-size:.9em}} @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} </style> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <body id="overview" class="book toc2 toc-left"> <div id="header"> <h1>개요</h1> <div class="details"> <span id="revnumber">version 1.0</span> </div> <div id="toc" class="toc2"> <div id="toctitle">Table of Contents</div> <ul class="sectlevel1"> <li><a href="#overview-http-verbs">HTTP 동사</a></li> <li><a href="#overview-http-status-codes">HTTP 상태 코드</a></li> <li><a href="#_주문">주문</a> <ul class="sectlevel2"> <li><a href="#_주문_수정">주문 수정</a></li> <li><a href="#_주문_상세보기">주문 상세보기</a></li> </ul> </li> <li><a href="#_점주_서비스">점주 서비스</a> <ul class="sectlevel2"> <li><a href="#_주문_페이지">주문 페이지</a></li> <li><a href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식">점주 서비스 - 주문 페이지 (잘못된 파라미터 형식)</a></li> <li><a href="#_점주_서비스_지난_주문_페이지">점주 서비스 - 지난 주문 페이지</a></li> <li><a href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식">점주 서비스 - 지난 주문 페이지 (잘못된 파라미터 형식)</a></li> <li><a href="#_점주_서비스_대쉬보드">점주 서비스 - 대쉬보드</a></li> </ul> </li> <li><a href="#_just_pick_up">Just Pick-up</a> <ul class="sectlevel2"> <li><a href="#_주문_내역_페이지">주문 내역 페이지</a></li> <li><a href="#_장바구니_상품_추가">장바구니 상품 추가</a></li> <li><a href="#_장바구니_내역_가져오기">장바구니 내역 가져오기</a></li> <li><a href="#_장바구니_상품_삭제">장바구니 상품 삭제</a></li> <li><a href="#_주문하기">주문하기</a></li> </ul> </li> </ul> </div> </div> <div id="content"> <div class="sect1"> <h2 id="overview-http-verbs"><a class="link" href="#overview-http-verbs">HTTP 동사</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">동사</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>GET</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">리소스를 가져올 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>POST</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 만들 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PUT</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PATCH</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스의 일부를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DELETE</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 삭제할 떄 사용</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="overview-http-status-codes"><a class="link" href="#overview-http-status-codes">HTTP 상태 코드</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">상태 코드</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>200 OK</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청을 성공적으로 처리함</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>201 Created</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 성공적으로 생성함. 응답의 <code>Location</code> 헤더에 해당 리소스의 URI가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>204 No Content</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 성공적으로 수정함.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>400 Bad Request</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>404 Not Found</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청한 리소스가 없음.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>409 Conflict</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우.</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="_주문"><a class="link" href="#_주문">주문</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_주문_수정"><a class="link" href="#_주문_수정">주문 수정</a></h3> <div class="sect3"> <h4 id="_주문_수정_curl_request"><a class="link" href="#_주문_수정_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/order/1' -i -X PATCH \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "orderStatus" : "PLACED" }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_수정_http_request"><a class="link" href="#_주문_수정_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">PATCH //just-pickup.com:8001/order/1 HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Content-Length: 30 Host: http

{ "orderStatus" : "PLACED" }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_수정_http_response"><a class="link" href="#_주문_수정_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 59

{ "code" : "SUCCESS", "message" : "", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_수정_path_parameters"><a class="link" href="#_주문_수정_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /order/{orderId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>orderId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_수정_request_fields"><a class="link" href="#_주문_수정_request_fields">Request fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>orderStatus</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 상태</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_수정_response_fields"><a class="link" href="#_주문_수정_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_주문_상세보기"><a class="link" href="#_주문_상세보기">주문 상세보기</a></h3> <div class="sect3"> <h4 id="_주문_상세보기_curl_request"><a class="link" href="#_주문_상세보기_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/order-detail/1589' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_상세보기_http_request"><a class="link" href="#_주문_상세보기_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/order-detail/1589 HTTP/1.1 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_상세보기_http_response"><a class="link" href="#_주문_상세보기_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 991

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 1589, "orderStatus" : "PLACED", "orderTime" : "2022-03-25 18:10", "orderPrice" : 76600, "storeName" : "매장이름", "user" : { "id" : 6, "name" : "박상범", "phoneNumber" : "010-1234-5678" }, "orderItems" : [ { "id" : 11374, "itemId" : 43, "totalPrice" : 0, "count" : 2, "name" : "카페라떼", "options" : [ { "id" : 11372, "itemOptionId" : 41, "name" : "HOT", "optionType" : "REQUIRED" }, { "id" : 11373, "itemOptionId" : 42, "name" : "시럽 추가", "optionType" : "OTHER" } ] }, { "id" : 11375, "itemId" : 44, "totalPrice" : 0, "count" : 2, "name" : "아메리카노", "options" : [ { "id" : 11371, "itemOptionId" : 40, "name" : "ICE", "optionType" : "REQUIRED" } ] } ] } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_상세보기_path_parameters"><a class="link" href="#_주문_상세보기_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/order-detail/{orderId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>orderId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_상세보기_response_fields"><a class="link" href="#_주문_상세보기_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메세지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.storeName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 매장이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderStatus</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 상태</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderTime</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 시간 [yyy-MM-dd]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderPrice</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 금액</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.user.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문한 회원 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.user.name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문한 회원 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.user.phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문한 회원 전화번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문아이템 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].totalPrice</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문아이템 총합계</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].count</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문아이템 수량</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].options[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문아이템옵션 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].options[*].itemOptionId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템옵션 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].options[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템옵션 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItems[*].options[*].optionType</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템옵션 타입</p></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="sect1"> <h2 id="_점주_서비스"><a class="link" href="#_점주_서비스">점주 서비스</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_주문_페이지"><a class="link" href="#_주문_페이지">주문 페이지</a></h3> <div class="ulist"> <ul> <li> <p>페이지 offset : 6</p> </li> </ul> </div> <div class="sect3"> <h4 id="_주문_페이지_curl_request"><a class="link" href="#_주문_페이지_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/owner/order/order-main?orderDate=2022-02-03&amp;lastOrderId=7' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_페이지_http_request"><a class="link" href="#_주문_페이지_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/owner/order/order-main?orderDate=2022-02-03&amp;lastOrderId=7 HTTP/1.1 user-id: 1 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_페이지_http_response"><a class="link" href="#_주문_페이지_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 2020

{ "code" : "SUCCESS", "message" : "", "data" : { "hasNext" : true, "orders" : [ { "id" : 1, "orderTime" : "2022-03-25 18:10", "orderStatus" : "ACCEPTED", "userName" : null, "storeName" : "가게명1", "orderItems" : [ { "itemName" : "아이템10" }, { "itemName" : "아이템11" }, { "itemName" : "아이템12" } ] }, { "id" : 2, "orderTime" : "2022-03-25 18:10", "orderStatus" : "ACCEPTED", "userName" : null, "storeName" : "가게명2", "orderItems" : [ { "itemName" : "아이템20" }, { "itemName" : "아이템22" }, { "itemName" : "아이템24" } ] }, { "id" : 3, "orderTime" : "2022-03-25 18:10", "orderStatus" : "ACCEPTED", "userName" : null, "storeName" : "가게명3", "orderItems" : [ { "itemName" : "아이템30" }, { "itemName" : "아이템33" }, { "itemName" : "아이템36" } ] }, { "id" : 4, "orderTime" : "2022-03-25 18:10", "orderStatus" : "ACCEPTED", "userName" : null, "storeName" : "가게명4", "orderItems" : [ { "itemName" : "아이템40" }, { "itemName" : "아이템44" }, { "itemName" : "아이템48" } ] }, { "id" : 5, "orderTime" : "2022-03-25 18:10", "orderStatus" : "ACCEPTED", "userName" : null, "storeName" : "가게명5", "orderItems" : [ { "itemName" : "아이템50" }, { "itemName" : "아이템55" }, { "itemName" : "아이템60" } ] }, { "id" : 6, "orderTime" : "2022-03-25 18:10", "orderStatus" : "ACCEPTED", "userName" : null, "storeName" : "가게명6", "orderItems" : [ { "itemName" : "아이템60" }, { "itemName" : "아이템66" }, { "itemName" : "아이템72" } ] } ] } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_페이지_request_headers"><a class="link" href="#_주문_페이지_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_페이지_request_parameters"><a class="link" href="#_주문_페이지_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>orderDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 날짜 YYYY-MM-DD</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>lastOrderId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">페이지의 마지막 주문 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_페이지_response_fields"><a class="link" href="#_주문_페이지_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.hasNext</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">다음 게시물 표시 여부</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderTime</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 시간 [yyyy-MM-dd HH:mm]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderStatus</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 상태</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].userName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문한 사용자 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].storeName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">가게 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderItems[*].itemName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 이름</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식">점주 서비스 - 주문 페이지 (잘못된 파라미터 형식)</a></h3> <div class="sect3"> <h4 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식_curl_request"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/owner/order/order-main?orderDate=20220203&amp;lastOrderId=7' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식_http_request"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/owner/order/order-main?orderDate=20220203&amp;lastOrderId=7 HTTP/1.1 user-id: 1 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식_http_response"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 160

{ "code" : "ERROR", "message" : "[orderDate](은)는 YYYY-MM-DD 형식에 맞게 작성되지 않았습니다. 입력된 값: [20220203]", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식_request_headers"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식_request_parameters"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>orderDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 날짜 YYYY-MM-DD</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>lastOrderId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">페이지의 마지막 주문 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_주문_페이지_잘못된_파라미터_형식_response_fields"><a class="link" href="#_점주_서비스_주문_페이지_잘못된_파라미터_형식_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_점주_서비스_지난_주문_페이지"><a class="link" href="#_점주_서비스_지난_주문_페이지">점주 서비스 - 지난 주문 페이지</a></h3> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_curl_request"><a class="link" href="#_점주_서비스_지난_주문_페이지_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/owner/order/prev-order?startDate=2022-02-03&amp;endDate=2022-02-04&amp;page=0' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_http_request"><a class="link" href="#_점주_서비스_지난_주문_페이지_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/owner/order/prev-order?startDate=2022-02-03&amp;endDate=2022-02-04&amp;page=0 HTTP/1.1 user-id: 1 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_http_response"><a class="link" href="#_점주_서비스_지난_주문_페이지_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 831

{ "code" : "SUCCESS", "message" : "", "data" : { "orders" : [ { "orderId" : 1, "orderStatus" : "PLACED", "orderTime" : "2022-02-03 14:00:00", "orderPrice" : 0, "userName" : "닉네임", "orderItems" : [ { "orderItemId" : 100, "orderItemName" : "아이템1" }, { "orderItemId" : 101, "orderItemName" : "아이템2" } ] }, { "orderId" : 2, "orderStatus" : "FAILED", "orderTime" : "2022-02-03 15:00:00", "orderPrice" : 0, "userName" : "닉네임", "orderItems" : [ { "orderItemId" : 102, "orderItemName" : "아이템3" }, { "orderItemId" : 103, "orderItemName" : "아이템2" } ] } ], "page" : { "startPage" : 0, "totalPage" : 1 } } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_request_headers"><a class="link" href="#_점주_서비스_지난_주문_페이지_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_request_parameters"><a class="link" href="#_점주_서비스_지난_주문_페이지_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>startDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">시작날짜 YYYY-MM-DD</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>endDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">종료날짜 YYYY-MM-DD</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>page</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">검색 페이지 (0부터 시작)</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_response_fields"><a class="link" href="#_점주_서비스_지난_주문_페이지_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderStatus</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문상태</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderTime</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문시간</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderPrice</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결제금액</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].userName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">닉네임</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderItems[*].orderItemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문상품 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderItems[*].orderItemName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문상품 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.page.startPage</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">현재 페이지 (0부터 시작)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.page.totalPage</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">총 페이지 개수</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식">점주 서비스 - 지난 주문 페이지 (잘못된 파라미터 형식)</a></h3> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_curl_request"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/owner/order/prev-order?startDate=2023-02-03&amp;endDate=2022-02-04&amp;page=0' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_http_request"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/owner/order/prev-order?startDate=2023-02-03&amp;endDate=2022-02-04&amp;page=0 HTTP/1.1 user-id: 1 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_http_response"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 155

{ "code" : "ERROR", "message" : "[startDate](은)는 시작일은 종료일보다 클 수 없습니다. 입력된 값: [2023-02-03]", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_request_headers"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_request_parameters"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>startDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">시작날짜 YYYY-MM-DD</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>endDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">종료날짜 YYYY-MM-DD</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>page</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">검색 페이지 (0부터 시작)</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_response_fields"><a class="link" href="#_점주_서비스_지난_주문_페이지_잘못된_파라미터_형식_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_점주_서비스_대쉬보드"><a class="link" href="#_점주_서비스_대쉬보드">점주 서비스 - 대쉬보드</a></h3> <div class="sect3"> <h4 id="_점주_서비스_대쉬보드_curl_request"><a class="link" href="#_점주_서비스_대쉬보드_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/owner/order/dashboard' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_대쉬보드_http_request"><a class="link" href="#_점주_서비스_대쉬보드_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/owner/order/dashboard HTTP/1.1 user-id: 1 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_대쉬보드_http_response"><a class="link" href="#_점주_서비스_대쉬보드_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 638

{ "code" : "SUCCESS", "message" : "", "data" : { "salesAmount" : 1237801239, "bestSellItem" : { "itemId" : 40, "itemName" : "까메리카노", "sumCounts" : 3217 }, "sellAmountAWeeks" : [ { "sellDate" : "2022-03-22", "sellAmount" : 1235 }, { "sellDate" : "2022-03-23", "sellAmount" : 235 }, { "sellDate" : "2022-03-24", "sellAmount" : 2235 }, { "sellDate" : "2022-03-25", "sellAmount" : 1635 }, { "sellDate" : "2022-03-26", "sellAmount" : 35 }, { "sellDate" : "2022-03-27", "sellAmount" : 635 } ] } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_점주_서비스_대쉬보드_request_headers"><a class="link" href="#_점주_서비스_대쉬보드_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_점주_서비스_대쉬보드_response_fields"><a class="link" href="#_점주_서비스_대쉬보드_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Object</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.salesAmount</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">총 판매금약</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.bestSellItem</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Object</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 베스트 판매 상품</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.bestSellItem.itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 베스트 판매 상품 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.bestSellItem.itemName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 베스트 판매 상품명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.bestSellItem.sumCounts</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 베스트 판매 상품판매량</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.sellAmountAWeeks</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 판매 통계</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.sellAmountAWeeks[*].sellDate</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 판매 통계날짜</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.sellAmountAWeeks[*].sellAmount</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7일간 판매 통계날짜별 판매량</p></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="sect1"> <h2 id="_just_pick_up"><a class="link" href="#_just_pick_up">Just Pick-up</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_주문_내역_페이지"><a class="link" href="#_주문_내역_페이지">주문 내역 페이지</a></h3> <div class="sect3"> <h4 id="_주문_내역_페이지_curl_request"><a class="link" href="#_주문_내역_페이지_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/customer/order/history?page=0' -i -X GET \ -H 'user-id: 2'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_내역_페이지_http_request"><a class="link" href="#_주문_내역_페이지_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/customer/order/history?page=0 HTTP/1.1 user-id: 2 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_내역_페이지_http_response"><a class="link" href="#_주문_내역_페이지_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1138

{ "code" : "SUCCESS", "message" : "", "data" : { "orders" : [ { "orderId" : 1, "orderTime" : "2022-03-07 19:00", "orderStatus" : "PLACED", "storeId" : 1001, "storeName" : null, "orderPrice" : 10000, "orderItems" : [ { "orderItemId" : 100, "orderItemName" : null }, { "orderItemId" : 400, "orderItemName" : null } ] }, { "orderId" : 2, "orderTime" : "2022-03-07 19:00", "orderStatus" : "PLACED", "storeId" : 1002, "storeName" : null, "orderPrice" : 20000, "orderItems" : [ { "orderItemId" : 200, "orderItemName" : null }, { "orderItemId" : 600, "orderItemName" : null } ] }, { "orderId" : 3, "orderTime" : "2022-03-07 19:00", "orderStatus" : "PLACED", "storeId" : 1003, "storeName" : null, "orderPrice" : 30000, "orderItems" : [ { "orderItemId" : 300, "orderItemName" : null }, { "orderItemId" : 800, "orderItemName" : null } ] } ], "hasNext" : true } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문_내역_페이지_request_headers"><a class="link" href="#_주문_내역_페이지_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_내역_페이지_request_parameters"><a class="link" href="#_주문_내역_페이지_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>page</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">검색할 페이지 [Optional, default: 0]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">검색할 페이지 사이즈 [Optional, default: 3]</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_주문_내역_페이지_response_fields"><a class="link" href="#_주문_내역_페이지_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderTime</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 시간 [yyyy-MM-dd HH:mm]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderPrice</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">합계</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderStatus</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 상태</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderStatus</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].storeName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderItems[*].orderItemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 아이템 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orders[*].orderItems[*].orderItemName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 아이템 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.hasNext</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">더보기 버튼 유무</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_장바구니_상품_추가"><a class="link" href="#_장바구니_상품_추가">장바구니 상품 추가</a></h3> <div class="sect3"> <h4 id="_장바구니_상품_추가_curl_request"><a class="link" href="#_장바구니_상품_추가_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/customer/order/item' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'user-id: 2' \ -H 'Accept: application/json' \ -d '{ "itemId" : 102, "storeId" : 1, "price" : 3000, "count" : 4, "itemOptionIds" : [ 1, 2, 3, 4, 5 ] }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_추가_http_request"><a class="link" href="#_장바구니_상품_추가_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">POST //just-pickup.com:8001/api/customer/order/item HTTP/1.1 Content-Type: application/json;charset=UTF-8 user-id: 2 Accept: application/json Content-Length: 109 Host: http

{ "itemId" : 102, "storeId" : 1, "price" : 3000, "count" : 4, "itemOptionIds" : [ 1, 2, 3, 4, 5 ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_추가_http_response"><a class="link" href="#_장바구니_상품_추가_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 204 No Content Content-Type: application/json Content-Length: 59

{ "code" : "SUCCESS", "message" : "", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_추가_request_headers"><a class="link" href="#_장바구니_상품_추가_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_장바구니_상품_추가_request_body"><a class="link" href="#_장바구니_상품_추가_request_body">Request body</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code class="language-none hljs">{ "itemId" : 102, "storeId" : 1, "price" : 3000, "count" : 4, "itemOptionIds" : [ 1, 2, 3, 4, 5 ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_추가_request_fields"><a class="link" href="#_장바구니_상품_추가_request_fields">Request fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 가격</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>count</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 갯수</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemOptionIds</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션들</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_장바구니_내역_가져오기"><a class="link" href="#_장바구니_내역_가져오기">장바구니 내역 가져오기</a></h3> <div class="sect3"> <h4 id="_장바구니_내역_가져오기_curl_request"><a class="link" href="#_장바구니_내역_가져오기_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/customer/order/orders' -i -X GET \ -H 'user-id: 2'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_내역_가져오기_http_request"><a class="link" href="#_장바구니_내역_가져오기_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET //just-pickup.com:8001/api/customer/order/orders HTTP/1.1 user-id: 2 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_내역_가져오기_http_response"><a class="link" href="#_장바구니_내역_가져오기_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 518

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 2, "userId" : 2, "orderPrice" : 12000, "storeName" : "저스트카페", "orderItemDtoList" : [ { "id" : 1, "itemId" : 1, "itemName" : "카페라테", "orderItemOptionDtoList" : [ { "id" : 2, "optionType" : "REQUIRED", "name" : "Hot" }, { "id" : 2, "optionType" : "OTHER", "name" : "샷추카" } ], "price" : 3000, "count" : 32 } ] } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_내역_가져오기_request_headers"><a class="link" href="#_장바구니_내역_가져오기_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_장바구니_내역_가져오기_response_fields"><a class="link" href="#_장바구니_내역_가져오기_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">주문한 유저 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.storeName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderPrice</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">총 합계</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">orderItem 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].itemName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].orderItemOptionDtoList[*]</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션들</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].orderItemOptionDtoList[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].orderItemOptionDtoList[*].optionType</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션 타입</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].orderItemOptionDtoList[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 가격</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.orderItemDtoList[*].count</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 갯수</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_장바구니_상품_삭제"><a class="link" href="#_장바구니_상품_삭제">장바구니 상품 삭제</a></h3> <div class="sect3"> <h4 id="_장바구니_상품_삭제_curl_request"><a class="link" href="#_장바구니_상품_삭제_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/customer/orderItem/2' -i -X DELETE \ -H 'user-id: 2'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_삭제_http_request"><a class="link" href="#_장바구니_상품_삭제_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">DELETE //just-pickup.com:8001/api/customer/orderItem/2 HTTP/1.1 user-id: 2 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_삭제_http_response"><a class="link" href="#_장바구니_상품_삭제_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 56

{ "code" : "SUCCESS", "message" : "", "data" : 2 }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_장바구니_상품_삭제_request_headers"><a class="link" href="#_장바구니_상품_삭제_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_장바구니_상품_삭제_path_parameters"><a class="link" href="#_장바구니_상품_삭제_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/customer/orderItem/{orderItemId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>orderItemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">orderItem 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_장바구니_상품_삭제_response_fields"><a class="link" href="#_장바구니_상품_삭제_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">orderItem 고유번호</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_주문하기"><a class="link" href="#_주문하기">주문하기</a></h3> <div class="sect3"> <h4 id="_주문하기_curl_request"><a class="link" href="#_주문하기_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://http://just-pickup.com:8001/api/customer/order/orders' -i -X POST \ -H 'user-id: 2'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문하기_http_request"><a class="link" href="#_주문하기_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">POST //just-pickup.com:8001/api/customer/order/orders HTTP/1.1 user-id: 2 Host: http</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문하기_http_response"><a class="link" href="#_주문하기_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 201 Created Content-Type: application/json Content-Length: 59

{ "code" : "SUCCESS", "message" : "", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_주문하기_request_headers"><a class="link" href="#_주문하기_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> Version 1.0<br> Last updated 2022-03-25 18:10:14 +0900 </div> </div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/github.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script> <script>hljs.initHighlighting()</script> </body> </html>
개요 개요 version 1.0 Table of Contents HTTP 동사 HTTP 상태 코드 주문 주문 수정 주문 상세보기 점주 서비스 주문 페이지 점주 서비스 - 주문 페이지 (잘못된 파라미터 형식) 점주 서비스 - 지난 주문 페이지 점주 서비스 - 지난 주문 페이지 (잘못된 파라미터 형식) 점주 서비스 - 대쉬보드 Just Pick-up 주문 내역 페이지 장바구니 상품 추가 장바구니 내역 가져오기 장바구니 상품 삭제 주문하기 HTTP 동사 본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다. 동사 용례 GET 리소스를 가져올 때 사용 POST 새 리소스를 만들 때 사용 PUT 기존 리소스를 수정할 때 사용 PATCH 기존 리소스의 일부를 수정할 때 사용 DELETE 기존 리소스를 삭제할 떄 사용 HTTP 상태 코드 본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다. 상태 코드 용례 200 OK 요청을 성공적으로 처리함 201 Created 새 리소스를 성공적으로 생성함. 응답의 Location 헤더에 해당 리소스의 URI가 담겨있다. 204 No Content 기존 리소스를 성공적으로 수정함. 400 Bad Request 잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다. 404 Not Found 요청한 리소스가 없음. 409 Conflict 클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우. 주문 주문 수정 Curl request $ curl 'http://http://just-pickup.com:8001/order/1' -i -X PATCH \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "orderStatus" : "PLACED" }' HTTP request PATCH //just-pickup.com:8001/order/1 HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Content-Length: 30 Host: http

# Store service api 문서

2022-03-24T00:00:00+09:00
2022-03-24T00:00:00+09:00
/Store%20Service%20API%20%EB%AC%B8%EC%84%9C
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="generator" content="Asciidoctor 2.0.10"> <title>개요</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> <style> /* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ /* Uncomment @import statement to use as custom stylesheet */ /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block} audio,video{display:inline-block} audio:not([controls]){display:none;height:0} html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} a{background:none} a:focus{outline:thin dotted} a:active,a:hover{outline:0} h1{font-size:2em;margin:.67em 0} abbr[title]{border-bottom:1px dotted} b,strong{font-weight:bold} dfn{font-style:italic} hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} mark{background:#ff0;color:#000} code,kbd,pre,samp{font-family:monospace;font-size:1em} pre{white-space:pre-wrap} q{quotes:"\201C" "\201D" "\2018" "\2019"} small{font-size:80%} sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} sup{top:-.5em} sub{bottom:-.25em} img{border:0} svg:not(:root){overflow:hidden} figure{margin:0} fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} legend{border:0;padding:0} button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} button,input{line-height:normal} button,select{text-transform:none} button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} button[disabled],html input[disabled]{cursor:default} input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} textarea{overflow:auto;vertical-align:top} table{border-collapse:collapse;border-spacing:0} *,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} html,body{font-size:100%} body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} a:hover{cursor:pointer} img,object,embed{max-width:100%;height:auto} object,embed{height:100%} img{-ms-interpolation-mode:bicubic} .left{float:left!important} .right{float:right!important} .text-left{text-align:left!important} .text-right{text-align:right!important} .text-center{text-align:center!important} .text-justify{text-align:justify!important} .hide{display:none} img,object,svg{display:inline-block;vertical-align:middle} textarea{height:auto;min-height:50px} select{width:100%} .center{margin-left:auto;margin-right:auto} .stretch{width:100%} .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} a{color:#2156a5;text-decoration:underline;line-height:inherit} a:hover,a:focus{color:#1d4b8f} a img{border:0} p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} p aside{font-size:.875em;line-height:1.35;font-style:italic} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} h1{font-size:2.125em} h2{font-size:1.6875em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} h4,h5{font-size:1.125em} h6{font-size:1em} hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} em,i{font-style:italic;line-height:inherit} strong,b{font-weight:bold;line-height:inherit} small{font-size:60%;line-height:inherit} code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} ul,ol{margin-left:1.5em} ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} ul.square{list-style-type:square} ul.circle{list-style-type:circle} ul.disc{list-style-type:disc} ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} dl dt{margin-bottom:.3125em;font-weight:bold} dl dd{margin-bottom:1.25em} abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} abbr{text-transform:none} blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} blockquote cite::before{content:"\2014 \0020"} blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} h1{font-size:2.75em} h2{font-size:2.3125em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} h4{font-size:1.4375em}} table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} table thead,table tfoot{background:#f7f8f7} table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} table tr.even,table tr.alt{background:#f8f8f7} table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} .clearfix::after,.float-group::after{clear:both} :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} :not(pre)>code.nobreak{word-wrap:normal} :not(pre)>code.nowrap{white-space:nowrap} pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} pre>code{display:block} pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} em em{font-style:normal} strong strong{font-weight:400} .keyseq{color:rgba(51,51,51,.8)} kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} .keyseq kbd:first-child{margin-left:0} .keyseq kbd:last-child{margin-right:0} .menuseq,.menuref{color:#000} .menuseq b:not(.caret),.menuref{font-weight:inherit} .menuseq{word-spacing:-.02em} .menuseq b.caret{font-size:1.25em;line-height:.8} .menuseq i.caret{font-weight:bold;text-align:center;width:.45em} b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} b.button::before{content:"[";padding:0 3px 0 2px} b.button::after{content:"]";padding:0 2px 0 3px} p a>code:hover{color:rgba(0,0,0,.9)} #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} #header::after,#content::after,#footnotes::after,#footer::after{clear:both} #content{margin-top:1.25em} #content::before{content:none} #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} #header .details span:first-child{margin-left:-.125em} #header .details span.email a{color:rgba(0,0,0,.85)} #header .details br{display:none} #header .details br+span::before{content:"\00a0\2013\00a0"} #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} #header .details br+span#revremark::before{content:"\00a0|\00a0"} #header #revnumber{text-transform:capitalize} #header #revnumber::after{content:"\00a0"} #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} #toc>ul{margin-left:.125em} #toc ul.sectlevel0>li>a{font-style:italic} #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} #toc li{line-height:1.3334;margin-top:.3334em} #toc a{text-decoration:none} #toc a:active{text-decoration:underline} #toctitle{color:#7a2518;font-size:1.2em} @media screen and (min-width:768px){#toctitle{font-size:1.375em} body.toc2{padding-left:15em;padding-right:0} #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} #toc.toc2>ul{font-size:.9em;margin-bottom:0} #toc.toc2 ul ul{margin-left:0;padding-left:1em} #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} body.toc2.toc-right{padding-left:0;padding-right:15em} body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} #toc.toc2{width:20em} #toc.toc2 #toctitle{font-size:1.375em} #toc.toc2>ul{font-size:.95em} #toc.toc2 ul ul{padding-left:1.25em} body.toc2.toc-right{padding-left:0;padding-right:20em}} #content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} #content #toc>:first-child{margin-top:0} #content #toc>:last-child{margin-bottom:0} #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em} #footer-text{color:rgba(255,255,255,.8);line-height:1.44} #content{margin-bottom:.625em} .sect1{padding-bottom:.625em} @media screen and (min-width:768px){#content{margin-bottom:1.25em} .sect1{padding-bottom:1.25em}} .sect1:last-child{padding-bottom:0} .sect1+.sect1{border-top:1px solid #e7e7e9} #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} #content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em} .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} .paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit} .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} .admonitionblock>table td.icon{text-align:center;width:80px} .admonitionblock>table td.icon img{max-width:none} .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)} .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} .exampleblock>.content>:first-child{margin-top:0} .exampleblock>.content>:last-child{margin-bottom:0} .sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px} .sidebarblock>:first-child{margin-top:0} .sidebarblock>:last-child{margin-bottom:0} .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} .literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em} @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} .listingblock>.content{position:relative} .listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} .listingblock:hover code[data-lang]::before{display:block} .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} .listingblock pre.highlightjs{padding:0} .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} .listingblock pre.prettyprint{border-width:0} .prettyprint{background:#f7f7f8} pre.prettyprint .linenums{line-height:1.45;margin-left:2em} pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} pre.prettyprint li code[data-lang]::before{opacity:1} pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} table.linenotable td.code{padding-left:.75em} table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em} pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em} pre.pygments .lineno::before{content:"";margin-right:-.125em} .quoteblock{margin:0 1em 1.25em 1.5em;display:table} .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} .quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} .quoteblock blockquote{margin:0;padding:0;border:0} .quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} .verseblock{margin:0 1em 1.25em} .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} .verseblock pre strong{font-weight:400} .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} .quoteblock .attribution br,.verseblock .attribution br{display:none} .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} .quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} .quoteblock.abstract{margin:0 1em 1.25em;display:block} .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0} table.tableblock{max-width:100%;border-collapse:separate} p.tableblock:last-child{margin-bottom:0} td.tableblock>.content>:last-child{margin-bottom:-1.25em} td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0} table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px} table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0} table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} table.frame-all{border-width:1px} table.frame-sides{border-width:0 1px} table.frame-topbot,table.frame-ends{border-width:1px 0} table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7} th.halign-left,td.halign-left{text-align:left} th.halign-right,td.halign-right{text-align:right} th.halign-center,td.halign-center{text-align:center} th.valign-top,td.valign-top{vertical-align:top} th.valign-bottom,td.valign-bottom{vertical-align:bottom} th.valign-middle,td.valign-middle{vertical-align:middle} table thead th,table tfoot th{font-weight:bold} tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} p.tableblock>code:only-child{background:none;padding:0} p.tableblock{font-size:1em} ol{margin-left:1.75em} ul li ol{margin-left:1.5em} dl dd{margin-left:1.125em} dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} ul.unstyled,ol.unstyled{margin-left:0} ul.checklist{margin-left:.625em} ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} ul.inline>li{margin-left:1.25em} .unstyled dl dt{font-weight:400;font-style:normal} ol.arabic{list-style-type:decimal} ol.decimal{list-style-type:decimal-leading-zero} ol.loweralpha{list-style-type:lower-alpha} ol.upperalpha{list-style-type:upper-alpha} ol.lowerroman{list-style-type:lower-roman} ol.upperroman{list-style-type:upper-roman} ol.lowergreek{list-style-type:lower-greek} .hdlist>table,.colist>table{border:0;background:none} .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} td.hdlist1{font-weight:bold;padding-bottom:1.25em} .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} .colist td:not([class]):first-child img{max-width:none} .colist td:not([class]):last-child{padding:.25em 0} .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} .imageblock.left{margin:.25em .625em 1.25em 0} .imageblock.right{margin:.25em 0 1.25em .625em} .imageblock>.title{margin-bottom:0} .imageblock.thumb,.imageblock.th{border-width:6px} .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} .image.left{margin-right:.625em} .image.right{margin-left:.625em} a.image{text-decoration:none;display:inline-block} a.image object{pointer-events:none} sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} sup.footnote a,sup.footnoteref a{text-decoration:none} sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} #footnotes .footnote:last-of-type{margin-bottom:0} #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} .gist .file-data>table td.line-data{width:99%} div.unbreakable{page-break-inside:avoid} .big{font-size:larger} .small{font-size:smaller} .underline{text-decoration:underline} .overline{text-decoration:overline} .line-through{text-decoration:line-through} .aqua{color:#00bfbf} .aqua-background{background:#00fafa} .black{color:#000} .black-background{background:#000} .blue{color:#0000bf} .blue-background{background:#0000fa} .fuchsia{color:#bf00bf} .fuchsia-background{background:#fa00fa} .gray{color:#606060} .gray-background{background:#7d7d7d} .green{color:#006000} .green-background{background:#007d00} .lime{color:#00bf00} .lime-background{background:#00fa00} .maroon{color:#600000} .maroon-background{background:#7d0000} .navy{color:#000060} .navy-background{background:#00007d} .olive{color:#606000} .olive-background{background:#7d7d00} .purple{color:#600060} .purple-background{background:#7d007d} .red{color:#bf0000} .red-background{background:#fa0000} .silver{color:#909090} .silver-background{background:#bcbcbc} .teal{color:#006060} .teal-background{background:#007d7d} .white{color:#bfbfbf} .white-background{background:#fafafa} .yellow{color:#bfbf00} .yellow-background{background:#fafa00} span.icon>.fa{cursor:default} a span.icon>.fa{cursor:inherit} .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} .conum[data-value] *{color:#fff!important} .conum[data-value]+b{display:none} .conum[data-value]::after{content:attr(data-value)} pre .conum[data-value]{position:relative;top:-.125em} b.conum *{color:inherit!important} .conum:not([data-value]):empty{display:none} dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} h1,h2,p,td.content,span.alt{letter-spacing:-.01em} p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} p{margin-bottom:1.25rem} .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} .print-only{display:none!important} @page{margin:1.25cm .75cm} @media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} html{font-size:80%} a{color:inherit!important;text-decoration:underline!important} a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} abbr[title]::after{content:" (" attr(title) ")"} pre,blockquote,tr,img,object,svg{page-break-inside:avoid} thead{display:table-header-group} svg{max-width:100%} p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} #toc,.sidebarblock,.exampleblock>.content{background:none!important} #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} body.book #header{text-align:center} body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} body.book #header .details{border:0!important;display:block;padding:0!important} body.book #header .details span:first-child{margin-left:0!important} body.book #header .details br{display:block} body.book #header .details br+span::before{content:none!important} body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} .listingblock code[data-lang]::before{display:block} #footer{padding:0 .9375em} .hide-on-print{display:none!important} .print-only{display:block!important} .hide-for-print{display:none!important} .show-for-print{display:inherit!important}} @media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem} .sect1{padding:0!important} .sect1+.sect1{border:0} #footer{background:none} #footer-text{color:rgba(0,0,0,.6);font-size:.9em}} @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} </style> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <body id="overview" class="book toc2 toc-left"> <div id="header"> <h1>개요</h1> <div class="details"> <span id="revnumber">version 1.0</span> </div> <div id="toc" class="toc2"> <div id="toctitle">Table of Contents</div> <ul class="sectlevel1"> <li><a href="#overview-http-verbs">HTTP 동사</a></li> <li><a href="#overview-http-status-codes">HTTP 상태 코드</a></li> <li><a href="#_상품">상품</a> <ul class="sectlevel2"> <li><a href="#_상품_조회">상품 조회</a></li> <li><a href="#_상품_조회_존재하지_않는_상품">상품 조회 (존재하지 않는 상품)</a></li> <li><a href="#_상품_리스트_조회">상품 리스트 조회</a></li> </ul> </li> <li><a href="#_상품_판매자">상품 (판매자)</a> <ul class="sectlevel2"> <li><a href="#_상품_조회_2">상품 조회</a></li> <li><a href="#_상품_리스트_조회구매자">상품 리스트 조회(구매자)</a></li> <li><a href="#_상품_조회판매자">상품 조회(판매자)</a></li> <li><a href="#_상품_리스트_조회_2">상품 리스트 조회</a></li> <li><a href="#_상품_수정">상품 수정</a></li> <li><a href="#_상품_등록">상품 등록</a></li> </ul> </li> <li><a href="#_카테고리">카테고리</a></li> <li><a href="#_카테고리_조회">카테고리 조회</a> <ul class="sectlevel2"> <li><a href="#_카테고리_조회_curl_request">Curl request</a></li> <li><a href="#_카테고리_조회_http_request">HTTP request</a></li> <li><a href="#_카테고리_조회_http_response">HTTP response</a></li> <li><a href="#_카테고리_조회_request_parameters">Request parameters</a></li> <li><a href="#_카테고리_조회_response_fields">Response fields</a></li> </ul> </li> <li><a href="#_카테고리_수정">카테고리 수정</a> <ul class="sectlevel2"> <li><a href="#_카테고리_수정_curl_request">Curl request</a></li> <li><a href="#_카테고리_수정_http_request">HTTP request</a></li> <li><a href="#_카테고리_수정_http_response">HTTP response</a></li> <li><a href="#_카테고리_수정_request_body">Request body</a></li> <li><a href="#_카테고리_수정_request_fields">Request fields</a></li> </ul> </li> <li><a href="#_매장">매장</a> <ul class="sectlevel2"> <li><a href="#_매장_검색_조회">매장 검색 조회</a></li> <li><a href="#_자주찾는_매장">자주찾는 매장</a></li> <li><a href="#_매장_조회">매장 조회</a></li> <li><a href="#_매장_조회_회원_고유번호">매장 조회 (회원 고유번호)</a></li> <li><a href="#_매장_리스트_조회">매장 리스트 조회</a></li> <li><a href="#_매장_생성_점주_서비스">매장 생성 (점주 서비스)</a></li> </ul> </li> <li><a href="#_즐겨찾는_매장">즐겨찾는 매장</a> <ul class="sectlevel2"> <li><a href="#_즐겨찾는_매장_조회">즐겨찾는 매장 조회</a></li> <li><a href="#_즐겨찾는_매장_추가삭제">즐겨찾는 매장 추가/삭제</a></li> </ul> </li> </ul> </div> </div> <div id="content"> <div class="sect1"> <h2 id="overview-http-verbs"><a class="link" href="#overview-http-verbs">HTTP 동사</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">동사</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>GET</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">리소스를 가져올 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>POST</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 만들 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PUT</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PATCH</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스의 일부를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DELETE</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 삭제할 떄 사용</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="overview-http-status-codes"><a class="link" href="#overview-http-status-codes">HTTP 상태 코드</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">상태 코드</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>200 OK</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청을 성공적으로 처리함</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>201 Created</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 성공적으로 생성함. 응답의 <code>Location</code> 헤더에 해당 리소스의 URI가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>204 No Content</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 성공적으로 수정함.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>400 Bad Request</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>404 Not Found</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청한 리소스가 없음.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>409 Conflict</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우.</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="_상품"><a class="link" href="#_상품">상품</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_상품_조회"><a class="link" href="#_상품_조회">상품 조회</a></h3> <div class="sect3"> <h4 id="_상품_조회_curl_request"><a class="link" href="#_상품_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/item/1' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회_http_request"><a class="link" href="#_상품_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /item/1 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회_http_response"><a class="link" href="#_상품_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 146

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 1, "name" : "아메리카노", "salesYn" : "Y", "price" : 1500 } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회_path_parameters"><a class="link" href="#_상품_조회_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /item/{itemId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_상품_조회_response_fields"><a class="link" href="#_상품_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.salesYn</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">화면 표시 여부 Y/N</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 가격</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_상품_조회_존재하지_않는_상품"><a class="link" href="#_상품_조회_존재하지_않는_상품">상품 조회 (존재하지 않는 상품)</a></h3> <div class="sect3"> <h4 id="_상품_조회_존재하지_않는_상품_curl_request"><a class="link" href="#_상품_조회_존재하지_않는_상품_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/item/9999' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회_존재하지_않는_상품_http_request"><a class="link" href="#_상품_조회_존재하지_않는_상품_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /item/9999 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회_존재하지_않는_상품_http_response"><a class="link" href="#_상품_조회_존재하지_않는_상품_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 409 Conflict Content-Type: application/json Content-Length: 93

{ "code" : "ERROR", "message" : "존재하지 않는 상품입니다.", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회_존재하지_않는_상품_path_parameters"><a class="link" href="#_상품_조회_존재하지_않는_상품_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /item/{itemId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_상품_조회_존재하지_않는_상품_response_fields"><a class="link" href="#_상품_조회_존재하지_않는_상품_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_상품_리스트_조회"><a class="link" href="#_상품_리스트_조회">상품 리스트 조회</a></h3> <div class="sect3"> <h4 id="_상품_리스트_조회_curl_request"><a class="link" href="#_상품_리스트_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/items/1,2,3' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_http_request"><a class="link" href="#_상품_리스트_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /items/1,2,3 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_http_response"><a class="link" href="#_상품_리스트_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 219

{ "code" : "SUCCESS", "message" : "", "data" : [ { "id" : 1, "name" : "아이템 이름1" }, { "id" : 2, "name" : "아이템 이름2" }, { "id" : 3, "name" : "아이템 이름3" } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_path_parameters"><a class="link" href="#_상품_리스트_조회_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /items/{itemIds}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemIds</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호들</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_response_fields"><a class="link" href="#_상품_리스트_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 이름</p></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="sect1"> <h2 id="_상품_판매자"><a class="link" href="#_상품_판매자">상품 (판매자)</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_상품_조회_2"><a class="link" href="#_상품_조회_2">상품 조회</a></h3>

</div> <div class="sect2"> <h3 id="_상품_리스트_조회구매자"><a class="link" href="#_상품_리스트_조회구매자">상품 리스트 조회(구매자)</a></h3> <div class="sect3"> <h4 id="_상품_리스트_조회구매자_curl_request"><a class="link" href="#_상품_리스트_조회구매자_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/customer/items/1,2' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회구매자_http_request"><a class="link" href="#_상품_리스트_조회구매자_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/customer/items/1,2 HTTP/1.1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회구매자_http_response"><a class="link" href="#_상품_리스트_조회구매자_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 608

{ "code" : "SUCCESS", "message" : "", "data" : [ { "id" : 1, "name" : "아메리카노", "salesYn" : "Y", "price" : 1500, "itemOptions" : [ { "id" : 1, "optionType" : "REQUIRED", "name" : "Hot" }, { "id" : 2, "optionType" : "OTHER", "name" : "add shot" } ] }, { "id" : 2, "name" : "카페라테", "salesYn" : "Y", "price" : 2500, "itemOptions" : [ { "id" : 1, "optionType" : "REQUIRED", "name" : "Hot" }, { "id" : 2, "optionType" : "OTHER", "name" : "add shot" } ] } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회구매자_path_parameters"><a class="link" href="#_상품_리스트_조회구매자_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/customer/items/{itemIds}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemIds</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호리스트</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_상품_리스트_조회구매자_response_fields"><a class="link" href="#_상품_리스트_조회구매자_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].salesYn</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">화면 표시 여부 Y/N</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 가격</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].itemOptions[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].itemOptions[*].optionType</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">옵션 타입</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].itemOptions[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">옵션명</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_상품_조회판매자"><a class="link" href="#_상품_조회판매자">상품 조회(판매자)</a></h3> <div class="sect3"> <h4 id="_상품_조회판매자_curl_request"><a class="link" href="#_상품_조회판매자_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/api/owner/item/1' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회판매자_http_request"><a class="link" href="#_상품_조회판매자_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/owner/item/1 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회판매자_http_response"><a class="link" href="#_상품_조회판매자_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 196

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 1, "name" : "아메리카노", "salesYn" : "Y", "price" : 1500, "itemOptions" : [ ], "categoryId" : null } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_조회판매자_path_parameters"><a class="link" href="#_상품_조회판매자_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/owner/item/{itemId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_상품_조회판매자_response_fields"><a class="link" href="#_상품_조회판매자_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.salesYn</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">화면 표시 여부 Y/N</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 가격</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemOptions</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.categoryId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 고유번호</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_상품_리스트_조회_2"><a class="link" href="#_상품_리스트_조회_2">상품 리스트 조회</a></h3> <div class="sect3"> <h4 id="_상품_리스트_조회_2_curl_request"><a class="link" href="#_상품_리스트_조회_2_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/api/owner/item/?word=' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_2_http_request"><a class="link" href="#_상품_리스트_조회_2_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/owner/item/?word= HTTP/1.1 user-id: 1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_2_http_response"><a class="link" href="#_상품_리스트_조회_2_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 408

{ "code" : "SUCCESS", "message" : "", "data" : { "itemList" : [ { "id" : 1, "name" : "아메리카노", "salesYn" : "Y", "price" : 1500, "categoryName" : null }, { "id" : 2, "name" : "카페라테", "salesYn" : "Y", "price" : 2000, "categoryName" : null } ], "page" : { "startPage" : 0, "totalPage" : 1 } } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_리스트_조회_2_response_fields"><a class="link" href="#_상품_리스트_조회_2_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemList[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemList[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemList[*].salesYn</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">화면 표시 여부 Y/N</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemList[*].price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 가격</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemList[*].categoryName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.page.startPage</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">현제 페이지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.page.totalPage</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">토탈 페이지</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_상품_수정"><a class="link" href="#_상품_수정">상품 수정</a></h3> <div class="sect3"> <h4 id="_상품_수정_curl_request"><a class="link" href="#_상품_수정_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/api/owner/item/1' -i -X PUT \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'user-id: 2' \ -H 'Accept: application/json' \ -d '{ "itemId" : 1, "itemName" : "테스트아이템", "itemPrice" : 3000, "categoryId" : 1, "requiredOption" : [ { "id" : null, "name" : "HOT", "optionType" : "REQUIRED" } ], "otherOption" : [ { "id" : null, "name" : "샷 추가", "optionType" : "OTHER" } ] }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_수정_http_request"><a class="link" href="#_상품_수정_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">PUT /api/owner/item/1 HTTP/1.1 Content-Type: application/json;charset=UTF-8 user-id: 2 Accept: application/json Content-Length: 296 Host: 127.0.0.1:8001

{ "itemId" : 1, "itemName" : "테스트아이템", "itemPrice" : 3000, "categoryId" : 1, "requiredOption" : [ { "id" : null, "name" : "HOT", "optionType" : "REQUIRED" } ], "otherOption" : [ { "id" : null, "name" : "샷 추가", "optionType" : "OTHER" } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_수정_http_response"><a class="link" href="#_상품_수정_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 204 No Content Content-Type: application/json Content-Length: 65

{ "code" : "SUCCESS", "message" : "성공", "data" : null }</code></pre> </div> </div> </div> </div> <div class="sect2"> <h3 id="_상품_등록"><a class="link" href="#_상품_등록">상품 등록</a></h3> <div class="sect3"> <h4 id="_상품_등록_curl_request"><a class="link" href="#_상품_등록_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/api/owner/item' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'user-id: 2' \ -H 'Accept: application/json' \ -d '{ "itemId" : null, "itemName" : "테스트아이템", "itemPrice" : 3000, "categoryId" : 1, "requiredOption" : [ { "id" : null, "name" : "HOT", "optionType" : "REQUIRED" } ], "otherOption" : [ { "id" : null, "name" : "샷 추가", "optionType" : "OTHER" } ] }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_등록_http_request"><a class="link" href="#_상품_등록_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">POST /api/owner/item HTTP/1.1 Content-Type: application/json;charset=UTF-8 user-id: 2 Accept: application/json Content-Length: 299 Host: 127.0.0.1:8001

{ "itemId" : null, "itemName" : "테스트아이템", "itemPrice" : 3000, "categoryId" : 1, "requiredOption" : [ { "id" : null, "name" : "HOT", "optionType" : "REQUIRED" } ], "otherOption" : [ { "id" : null, "name" : "샷 추가", "optionType" : "OTHER" } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_상품_등록_http_response"><a class="link" href="#_상품_등록_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 201 Created Content-Type: application/json Content-Length: 65

{ "code" : "SUCCESS", "message" : "성공", "data" : null }</code></pre> </div> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_카테고리"><a class="link" href="#_카테고리">카테고리</a></h2> <div class="sectionbody">

</div> </div> <div class="sect1"> <h2 id="_카테고리_조회"><a class="link" href="#_카테고리_조회">카테고리 조회</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_카테고리_조회_curl_request"><a class="link" href="#_카테고리_조회_curl_request">Curl request</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/api/owner/category' -i -X GET \ -H 'user-id: 2'</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_조회_http_request"><a class="link" href="#_카테고리_조회_http_request">HTTP request</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/owner/category HTTP/1.1 user-id: 2 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_조회_http_response"><a class="link" href="#_카테고리_조회_http_response">HTTP response</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 451

{ "code" : "SUCCESS", "message" : "", "data" : [ { "categoryId" : 10, "name" : "카페인", "order" : 1, "items" : [ { "id" : 1, "name" : "아메리카노" }, { "id" : 2, "name" : "카페라테" } ] }, { "categoryId" : 11, "name" : "디저트", "order" : 2, "items" : [ { "id" : 3, "name" : "비스킷" }, { "id" : 4, "name" : "와플" } ] } ] }</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_조회_request_parameters"><a class="link" href="#_카테고리_조회_request_parameters">Request parameters</a></h3>

</div> <div class="sect2"> <h3 id="_카테고리_조회_response_fields"><a class="link" href="#_카테고리_조회_response_fields">Response fields</a></h3> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].categoryId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].order</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">순서</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].items[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].items[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 명</p></td> </tr> </tbody> </table> </div> </div> </div> <div class="sect1"> <h2 id="_카테고리_수정"><a class="link" href="#_카테고리_수정">카테고리 수정</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_카테고리_수정_curl_request"><a class="link" href="#_카테고리_수정_curl_request">Curl request</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/api/owner/category' -i -X PUT \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -d '{ "storeId" : 1, "categoryList" : [ { "categoryId" : 10, "name" : "카테고리1", "order" : 2 }, { "categoryId" : 11, "name" : "카테고리2", "order" : 1 } ], "deletedList" : [ { "categoryId" : 11, "name" : "Non Coffee", "order" : 3 } ] }'</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_수정_http_request"><a class="link" href="#_카테고리_수정_http_request">HTTP request</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">PUT /api/owner/category HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json Content-Length: 289 Host: 127.0.0.1:8001

{ "storeId" : 1, "categoryList" : [ { "categoryId" : 10, "name" : "카테고리1", "order" : 2 }, { "categoryId" : 11, "name" : "카테고리2", "order" : 1 } ], "deletedList" : [ { "categoryId" : 11, "name" : "Non Coffee", "order" : 3 } ] }</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_수정_http_response"><a class="link" href="#_카테고리_수정_http_response">HTTP response</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 204 No Content Content-Type: application/json Content-Length: 59

{ "code" : "SUCCESS", "message" : "", "data" : null }</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_수정_request_body"><a class="link" href="#_카테고리_수정_request_body">Request body</a></h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code class="language-none hljs">{ "storeId" : 1, "categoryList" : [ { "categoryId" : 10, "name" : "카테고리1", "order" : 2 }, { "categoryId" : 11, "name" : "카테고리2", "order" : 1 } ], "deletedList" : [ { "categoryId" : 11, "name" : "Non Coffee", "order" : 3 } ] }</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="_카테고리_수정_request_fields"><a class="link" href="#_카테고리_수정_request_fields">Request fields</a></h3> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>categoryList</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">수정된 카테고리 리스트</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>categoryList[*].categoryId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>categoryList[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>categoryList[*].order</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">순서</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deletedList</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">삭제된 카테고리 리스트</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deletedList[*].categoryId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deletedList[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deletedList[*].order</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">순서</p></td> </tr> </tbody> </table> </div> </div> </div> <div class="sect1"> <h2 id="_매장"><a class="link" href="#_매장">매장</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_매장_검색_조회"><a class="link" href="#_매장_검색_조회">매장 검색 조회</a></h3> <div class="sect3"> <h4 id="_매장_검색_조회_curl_request"><a class="link" href="#_매장_검색_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/customer/store/search?latitude=37.5403912&amp;longitude=126.9438922&amp;page=0&amp;size=2' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_검색_조회_http_request"><a class="link" href="#_매장_검색_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/customer/store/search?latitude=37.5403912&amp;longitude=126.9438922&amp;page=0&amp;size=2 HTTP/1.1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_검색_조회_http_response"><a class="link" href="#_매장_검색_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 359

{ "code" : "SUCCESS", "message" : "", "data" : { "stores" : [ { "id" : 1, "name" : "이디야커피 마포오벨리스크점", "distance" : "145m", "favoriteCounts" : 10 }, { "id" : 2, "name" : "만랩커피 마포점", "distance" : "151m", "favoriteCounts" : 5 } ], "hasNext" : true } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_검색_조회_request_parameters"><a class="link" href="#_매장_검색_조회_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>latitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">고객의 위도 [필수]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>longitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">고객의 경도 [필수]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>page</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">검색할 페이지 [Optional, default: 0]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">검색할 페이지 사이즈 [Optional, default: 2]</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_매장_검색_조회_response_fields"><a class="link" href="#_매장_검색_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.stores[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.stores[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.stores[*].distance</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">고객과의 거리차이 m/km</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.stores[*].favoriteCounts</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 즐겨찾기 수</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.hasNext</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">더보기 버튼 유무</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_자주찾는_매장"><a class="link" href="#_자주찾는_매장">자주찾는 매장</a></h3> <div class="sect3"> <h4 id="_자주찾는_매장_curl_request"><a class="link" href="#_자주찾는_매장_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/customer/store/favorite?latitude=37.5403912&amp;longitude=126.9438922' -i -X GET \ -H 'user-id: 2'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_자주찾는_매장_http_request"><a class="link" href="#_자주찾는_매장_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/customer/store/favorite?latitude=37.5403912&amp;longitude=126.9438922 HTTP/1.1 user-id: 2 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_자주찾는_매장_http_response"><a class="link" href="#_자주찾는_매장_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 408

{ "code" : "SUCCESS", "message" : "", "data" : [ { "id" : 1, "name" : "이디야커피 마포오벨리스크점", "distance" : "145m", "favoriteCounts" : 5 }, { "id" : 2, "name" : "만랩커피 마포점", "distance" : "151m", "favoriteCounts" : 5 }, { "id" : 3, "name" : "커피온리 마포역점", "distance" : "341m", "favoriteCounts" : 5 } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_자주찾는_매장_request_headers"><a class="link" href="#_자주찾는_매장_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">로그인한 유저 id</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_자주찾는_매장_request_parameters"><a class="link" href="#_자주찾는_매장_request_parameters">Request parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>latitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">고객의 위도 [필수]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>longitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">고객의 경도 [필수]</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_자주찾는_매장_response_fields"><a class="link" href="#_자주찾는_매장_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].distance</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">고객과의 거리차이 m/km</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].favoriteCounts</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">즐겨찾기 회수</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_매장_조회"><a class="link" href="#_매장_조회">매장 조회</a></h3> <div class="sect3"> <h4 id="_매장_조회_curl_request"><a class="link" href="#_매장_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/store/1' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_조회_http_request"><a class="link" href="#_매장_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /store/1 HTTP/1.1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_조회_http_response"><a class="link" href="#_매장_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 155

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 1, "name" : "이디야커피 대림역점", "phoneNumber" : "010-1234-5678" } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_조회_path_parameters"><a class="link" href="#_매장_조회_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /store/{storeId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_매장_조회_response_fields"><a class="link" href="#_매장_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 번호</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_매장_조회_회원_고유번호"><a class="link" href="#_매장_조회_회원_고유번호">매장 조회 (회원 고유번호)</a></h3> <div class="sect3"> <h4 id="_매장_조회_회원_고유번호_curl_request"><a class="link" href="#_매장_조회_회원_고유번호_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/owner/store' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_조회_회원_고유번호_http_request"><a class="link" href="#_매장_조회_회원_고유번호_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/owner/store HTTP/1.1 user-id: 1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_조회_회원_고유번호_http_response"><a class="link" href="#_매장_조회_회원_고유번호_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 103

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 10, "name" : "한강커피" } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_조회_회원_고유번호_request_headers"><a class="link" href="#_매장_조회_회원_고유번호_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">로그인한 유저 id</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_매장_조회_회원_고유번호_response_fields"><a class="link" href="#_매장_조회_회원_고유번호_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_매장_리스트_조회"><a class="link" href="#_매장_리스트_조회">매장 리스트 조회</a></h3> <div class="sect3"> <h4 id="_매장_리스트_조회_curl_request"><a class="link" href="#_매장_리스트_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/stores/1,2,3' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_리스트_조회_http_request"><a class="link" href="#_매장_리스트_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /stores/1,2,3 HTTP/1.1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_리스트_조회_http_response"><a class="link" href="#_매장_리스트_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 321

{ "code" : "SUCCESS", "message" : "", "data" : [ { "id" : 1, "name" : "매장 이름1", "phoneNumber" : "010-1234-5678" }, { "id" : 2, "name" : "매장 이름2", "phoneNumber" : "010-1234-5678" }, { "id" : 3, "name" : "매장 이름3", "phoneNumber" : "010-1234-5678" } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_리스트_조회_path_parameters"><a class="link" href="#_매장_리스트_조회_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /stores/{storeIds}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeIds</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유 번호들</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_매장_리스트_조회_response_fields"><a class="link" href="#_매장_리스트_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 휴대폰 번호</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_매장_생성_점주_서비스"><a class="link" href="#_매장_생성_점주_서비스">매장 생성 (점주 서비스)</a></h3> <div class="sect3"> <h4 id="_매장_생성_점주_서비스_curl_request"><a class="link" href="#_매장_생성_점주_서비스_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/owner/store' -i -X POST \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Accept: application/json' \ -H 'user-id: 1' \ -d '{ "name" : "점주 이름", "phoneNumber" : "010-1234-5678", "address" : "서울특별시 마포구 용강동 123-1길", "zipcode" : "129845", "latitude" : 30.90199982, "longitude" : 112.1298347 }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_생성_점주_서비스_http_request"><a class="link" href="#_매장_생성_점주_서비스_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">POST /api/owner/store HTTP/1.1 Content-Type: application/json;charset=UTF-8 Accept: application/json user-id: 1 Content-Length: 208 Host: just-pickup.com:8000

{ "name" : "점주 이름", "phoneNumber" : "010-1234-5678", "address" : "서울특별시 마포구 용강동 123-1길", "zipcode" : "129845", "latitude" : 30.90199982, "longitude" : 112.1298347 }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_생성_점주_서비스_http_response"><a class="link" href="#_매장_생성_점주_서비스_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 201 Created</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_매장_생성_점주_서비스_request_headers"><a class="link" href="#_매장_생성_점주_서비스_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">JWT 유저 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_매장_생성_점주_서비스_request_fields"><a class="link" href="#_매장_생성_점주_서비스_request_fields">Request fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매징 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>address</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 주소</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>zipcode</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 우편번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>latitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">위도</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>longitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">경도</p></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="sect1"> <h2 id="_즐겨찾는_매장"><a class="link" href="#_즐겨찾는_매장">즐겨찾는 매장</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_즐겨찾는_매장_조회"><a class="link" href="#_즐겨찾는_매장_조회">즐겨찾는 매장 조회</a></h3> <div class="sect3"> <h4 id="_즐겨찾는_매장_조회_curl_request"><a class="link" href="#_즐겨찾는_매장_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/customer/favoriteStore/1' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_조회_http_request"><a class="link" href="#_즐겨찾는_매장_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/customer/favoriteStore/1 HTTP/1.1 user-id: 1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_조회_http_response"><a class="link" href="#_즐겨찾는_매장_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 116

{ "code" : "SUCCESS", "message" : "", "data" : { "userId" : 1, "storeId" : 1, "exist" : true } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_조회_request_headers"><a class="link" href="#_즐겨찾는_매장_조회_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">로그인한 유저 id</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_조회_path_parameters"><a class="link" href="#_즐겨찾는_매장_조회_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/customer/favoriteStore/{storeId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_조회_response_fields"><a class="link" href="#_즐겨찾는_매장_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">유저 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.exist</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">즐겨찾기 매장 존재여부</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_즐겨찾는_매장_추가삭제"><a class="link" href="#_즐겨찾는_매장_추가삭제">즐겨찾는 매장 추가/삭제</a></h3> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_curl_request"><a class="link" href="#_즐겨찾는_매장_추가삭제_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/customer/favoriteStore/1' -i -X PATCH \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_http_request"><a class="link" href="#_즐겨찾는_매장_추가삭제_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">PATCH /api/customer/favoriteStore/1 HTTP/1.1 user-id: 1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_http_response"><a class="link" href="#_즐겨찾는_매장_추가삭제_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 204 No Content Content-Type: application/json Content-Length: 65

{ "code" : "SUCCESS", "message" : "성공", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_request_headers"><a class="link" href="#_즐겨찾는_매장_추가삭제_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">로그인한 유저 id</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_path_parameters"><a class="link" href="#_즐겨찾는_매장_추가삭제_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/customer/favoriteStore/{storeId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_curl_request"><a class="link" href="#_즐겨찾는_매장_추가삭제_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://just-pickup.com:8000/api/customer/item/1' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_http_request"><a class="link" href="#_즐겨찾는_매장_추가삭제_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /api/customer/item/1 HTTP/1.1 Host: just-pickup.com:8000</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_http_response"><a class="link" href="#_즐겨찾는_매장_추가삭제_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 371

{ "code" : "SUCCESS", "message" : "", "data" : { "id" : 1, "name" : "아메리카노", "salesYn" : "Y", "price" : 1500, "itemOptions" : [ { "id" : 1, "optionType" : "REQUIRED", "name" : "Hot" }, { "id" : 2, "optionType" : "OTHER", "name" : "add shot" } ], "storeId" : 1, "categoryId" : 1 } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_path_parameters"><a class="link" href="#_즐겨찾는_매장_추가삭제_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /api/customer/item/{itemId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>itemId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_즐겨찾는_매장_추가삭제_response_fields"><a class="link" href="#_즐겨찾는_매장_추가삭제_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.salesYn</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">화면 표시 여부 Y/N</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.price</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">상품 가격</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemOptions[*].id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">아이템 옵션 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemOptions[*].optionType</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">옵션 타입</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.itemOptions[*].name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">옵션명</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.storeId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.categoryId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">카테고리 고유번호</p></td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> Version 1.0<br> Last updated 2022-03-25 18:11:23 +0900 </div> </div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/github.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script> <script>hljs.initHighlighting()</script> </body> </html>
개요 개요 version 1.0 Table of Contents HTTP 동사 HTTP 상태 코드 상품 상품 조회 상품 조회 (존재하지 않는 상품) 상품 리스트 조회 상품 (판매자) 상품 조회 상품 리스트 조회(구매자) 상품 조회(판매자) 상품 리스트 조회 상품 수정 상품 등록 카테고리 카테고리 조회 Curl request HTTP request HTTP response Request parameters Response fields 카테고리 수정 Curl request HTTP request HTTP response Request body Request fields 매장 매장 검색 조회 자주찾는 매장 매장 조회 매장 조회 (회원 고유번호) 매장 리스트 조회 매장 생성 (점주 서비스) 즐겨찾는 매장 즐겨찾는 매장 조회 즐겨찾는 매장 추가/삭제 HTTP 동사 본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다. 동사 용례 GET 리소스를 가져올 때 사용 POST 새 리소스를 만들 때 사용 PUT 기존 리소스를 수정할 때 사용 PATCH 기존 리소스의 일부를 수정할 때 사용 DELETE 기존 리소스를 삭제할 떄 사용 HTTP 상태 코드 본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다. 상태 코드 용례 200 OK 요청을 성공적으로 처리함 201 Created 새 리소스를 성공적으로 생성함. 응답의 Location 헤더에 해당 리소스의 URI가 담겨있다. 204 No Content 기존 리소스를 성공적으로 수정함. 400 Bad Request 잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다. 404 Not Found 요청한 리소스가 없음. 409 Conflict 클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우. 상품 상품 조회 Curl request $ curl 'http://127.0.0.1:8001/item/1' -i -X GET HTTP request GET /item/1 HTTP/1.1 Host: 127.0.0.1:8001 HTTP response HTTP/1.1 200 OK Content-Type: application/json Content-Length: 146

# User service api 문서

2022-03-24T00:00:00+09:00
2022-03-24T00:00:00+09:00
/User%20Service%20API%20%EB%AC%B8%EC%84%9C
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="generator" content="Asciidoctor 2.0.10"> <title>개요</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> <style> /* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ /* Uncomment @import statement to use as custom stylesheet */ /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block} audio,video{display:inline-block} audio:not([controls]){display:none;height:0} html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} a{background:none} a:focus{outline:thin dotted} a:active,a:hover{outline:0} h1{font-size:2em;margin:.67em 0} abbr[title]{border-bottom:1px dotted} b,strong{font-weight:bold} dfn{font-style:italic} hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} mark{background:#ff0;color:#000} code,kbd,pre,samp{font-family:monospace;font-size:1em} pre{white-space:pre-wrap} q{quotes:"\201C" "\201D" "\2018" "\2019"} small{font-size:80%} sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} sup{top:-.5em} sub{bottom:-.25em} img{border:0} svg:not(:root){overflow:hidden} figure{margin:0} fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} legend{border:0;padding:0} button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} button,input{line-height:normal} button,select{text-transform:none} button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} button[disabled],html input[disabled]{cursor:default} input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} textarea{overflow:auto;vertical-align:top} table{border-collapse:collapse;border-spacing:0} *,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} html,body{font-size:100%} body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} a:hover{cursor:pointer} img,object,embed{max-width:100%;height:auto} object,embed{height:100%} img{-ms-interpolation-mode:bicubic} .left{float:left!important} .right{float:right!important} .text-left{text-align:left!important} .text-right{text-align:right!important} .text-center{text-align:center!important} .text-justify{text-align:justify!important} .hide{display:none} img,object,svg{display:inline-block;vertical-align:middle} textarea{height:auto;min-height:50px} select{width:100%} .center{margin-left:auto;margin-right:auto} .stretch{width:100%} .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} a{color:#2156a5;text-decoration:underline;line-height:inherit} a:hover,a:focus{color:#1d4b8f} a img{border:0} p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} p aside{font-size:.875em;line-height:1.35;font-style:italic} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} h1{font-size:2.125em} h2{font-size:1.6875em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} h4,h5{font-size:1.125em} h6{font-size:1em} hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} em,i{font-style:italic;line-height:inherit} strong,b{font-weight:bold;line-height:inherit} small{font-size:60%;line-height:inherit} code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} ul,ol{margin-left:1.5em} ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} ul.square{list-style-type:square} ul.circle{list-style-type:circle} ul.disc{list-style-type:disc} ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} dl dt{margin-bottom:.3125em;font-weight:bold} dl dd{margin-bottom:1.25em} abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} abbr{text-transform:none} blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} blockquote cite::before{content:"\2014 \0020"} blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} h1{font-size:2.75em} h2{font-size:2.3125em} h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} h4{font-size:1.4375em}} table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} table thead,table tfoot{background:#f7f8f7} table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} table tr.even,table tr.alt{background:#f8f8f7} table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} .clearfix::after,.float-group::after{clear:both} :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} :not(pre)>code.nobreak{word-wrap:normal} :not(pre)>code.nowrap{white-space:nowrap} pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} pre>code{display:block} pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} em em{font-style:normal} strong strong{font-weight:400} .keyseq{color:rgba(51,51,51,.8)} kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} .keyseq kbd:first-child{margin-left:0} .keyseq kbd:last-child{margin-right:0} .menuseq,.menuref{color:#000} .menuseq b:not(.caret),.menuref{font-weight:inherit} .menuseq{word-spacing:-.02em} .menuseq b.caret{font-size:1.25em;line-height:.8} .menuseq i.caret{font-weight:bold;text-align:center;width:.45em} b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} b.button::before{content:"[";padding:0 3px 0 2px} b.button::after{content:"]";padding:0 2px 0 3px} p a>code:hover{color:rgba(0,0,0,.9)} #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} #header::after,#content::after,#footnotes::after,#footer::after{clear:both} #content{margin-top:1.25em} #content::before{content:none} #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} #header .details span:first-child{margin-left:-.125em} #header .details span.email a{color:rgba(0,0,0,.85)} #header .details br{display:none} #header .details br+span::before{content:"\00a0\2013\00a0"} #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} #header .details br+span#revremark::before{content:"\00a0|\00a0"} #header #revnumber{text-transform:capitalize} #header #revnumber::after{content:"\00a0"} #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} #toc>ul{margin-left:.125em} #toc ul.sectlevel0>li>a{font-style:italic} #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} #toc li{line-height:1.3334;margin-top:.3334em} #toc a{text-decoration:none} #toc a:active{text-decoration:underline} #toctitle{color:#7a2518;font-size:1.2em} @media screen and (min-width:768px){#toctitle{font-size:1.375em} body.toc2{padding-left:15em;padding-right:0} #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} #toc.toc2>ul{font-size:.9em;margin-bottom:0} #toc.toc2 ul ul{margin-left:0;padding-left:1em} #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} body.toc2.toc-right{padding-left:0;padding-right:15em} body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} #toc.toc2{width:20em} #toc.toc2 #toctitle{font-size:1.375em} #toc.toc2>ul{font-size:.95em} #toc.toc2 ul ul{padding-left:1.25em} body.toc2.toc-right{padding-left:0;padding-right:20em}} #content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} #content #toc>:first-child{margin-top:0} #content #toc>:last-child{margin-bottom:0} #footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em} #footer-text{color:rgba(255,255,255,.8);line-height:1.44} #content{margin-bottom:.625em} .sect1{padding-bottom:.625em} @media screen and (min-width:768px){#content{margin-bottom:1.25em} .sect1{padding-bottom:1.25em}} .sect1:last-child{padding-bottom:0} .sect1+.sect1{border-top:1px solid #e7e7e9} #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} #content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em} .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} .paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit} .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} .admonitionblock>table td.icon{text-align:center;width:80px} .admonitionblock>table td.icon img{max-width:none} .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)} .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} .exampleblock>.content>:first-child{margin-top:0} .exampleblock>.content>:last-child{margin-bottom:0} .sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px} .sidebarblock>:first-child{margin-top:0} .sidebarblock>:last-child{margin-bottom:0} .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} .literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em} @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} .listingblock>.content{position:relative} .listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} .listingblock:hover code[data-lang]::before{display:block} .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} .listingblock pre.highlightjs{padding:0} .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} .listingblock pre.prettyprint{border-width:0} .prettyprint{background:#f7f7f8} pre.prettyprint .linenums{line-height:1.45;margin-left:2em} pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} pre.prettyprint li code[data-lang]::before{opacity:1} pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} table.linenotable td.code{padding-left:.75em} table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em} pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em} pre.pygments .lineno::before{content:"";margin-right:-.125em} .quoteblock{margin:0 1em 1.25em 1.5em;display:table} .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} .quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} .quoteblock blockquote{margin:0;padding:0;border:0} .quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} .verseblock{margin:0 1em 1.25em} .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} .verseblock pre strong{font-weight:400} .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} .quoteblock .attribution br,.verseblock .attribution br{display:none} .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} .quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} .quoteblock.abstract{margin:0 1em 1.25em;display:block} .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0} table.tableblock{max-width:100%;border-collapse:separate} p.tableblock:last-child{margin-bottom:0} td.tableblock>.content>:last-child{margin-bottom:-1.25em} td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0} table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px} table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0} table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} table.frame-all{border-width:1px} table.frame-sides{border-width:0 1px} table.frame-topbot,table.frame-ends{border-width:1px 0} table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7} th.halign-left,td.halign-left{text-align:left} th.halign-right,td.halign-right{text-align:right} th.halign-center,td.halign-center{text-align:center} th.valign-top,td.valign-top{vertical-align:top} th.valign-bottom,td.valign-bottom{vertical-align:bottom} th.valign-middle,td.valign-middle{vertical-align:middle} table thead th,table tfoot th{font-weight:bold} tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} p.tableblock>code:only-child{background:none;padding:0} p.tableblock{font-size:1em} ol{margin-left:1.75em} ul li ol{margin-left:1.5em} dl dd{margin-left:1.125em} dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} ul.unstyled,ol.unstyled{margin-left:0} ul.checklist{margin-left:.625em} ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} ul.inline>li{margin-left:1.25em} .unstyled dl dt{font-weight:400;font-style:normal} ol.arabic{list-style-type:decimal} ol.decimal{list-style-type:decimal-leading-zero} ol.loweralpha{list-style-type:lower-alpha} ol.upperalpha{list-style-type:upper-alpha} ol.lowerroman{list-style-type:lower-roman} ol.upperroman{list-style-type:upper-roman} ol.lowergreek{list-style-type:lower-greek} .hdlist>table,.colist>table{border:0;background:none} .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} td.hdlist1{font-weight:bold;padding-bottom:1.25em} .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} .colist td:not([class]):first-child img{max-width:none} .colist td:not([class]):last-child{padding:.25em 0} .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} .imageblock.left{margin:.25em .625em 1.25em 0} .imageblock.right{margin:.25em 0 1.25em .625em} .imageblock>.title{margin-bottom:0} .imageblock.thumb,.imageblock.th{border-width:6px} .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} .image.left{margin-right:.625em} .image.right{margin-left:.625em} a.image{text-decoration:none;display:inline-block} a.image object{pointer-events:none} sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} sup.footnote a,sup.footnoteref a{text-decoration:none} sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} #footnotes .footnote:last-of-type{margin-bottom:0} #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} .gist .file-data>table td.line-data{width:99%} div.unbreakable{page-break-inside:avoid} .big{font-size:larger} .small{font-size:smaller} .underline{text-decoration:underline} .overline{text-decoration:overline} .line-through{text-decoration:line-through} .aqua{color:#00bfbf} .aqua-background{background:#00fafa} .black{color:#000} .black-background{background:#000} .blue{color:#0000bf} .blue-background{background:#0000fa} .fuchsia{color:#bf00bf} .fuchsia-background{background:#fa00fa} .gray{color:#606060} .gray-background{background:#7d7d7d} .green{color:#006000} .green-background{background:#007d00} .lime{color:#00bf00} .lime-background{background:#00fa00} .maroon{color:#600000} .maroon-background{background:#7d0000} .navy{color:#000060} .navy-background{background:#00007d} .olive{color:#606000} .olive-background{background:#7d7d00} .purple{color:#600060} .purple-background{background:#7d007d} .red{color:#bf0000} .red-background{background:#fa0000} .silver{color:#909090} .silver-background{background:#bcbcbc} .teal{color:#006060} .teal-background{background:#007d7d} .white{color:#bfbfbf} .white-background{background:#fafafa} .yellow{color:#bfbf00} .yellow-background{background:#fafa00} span.icon>.fa{cursor:default} a span.icon>.fa{cursor:inherit} .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} .conum[data-value] *{color:#fff!important} .conum[data-value]+b{display:none} .conum[data-value]::after{content:attr(data-value)} pre .conum[data-value]{position:relative;top:-.125em} b.conum *{color:inherit!important} .conum:not([data-value]):empty{display:none} dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} h1,h2,p,td.content,span.alt{letter-spacing:-.01em} p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} p{margin-bottom:1.25rem} .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} .print-only{display:none!important} @page{margin:1.25cm .75cm} @media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} html{font-size:80%} a{color:inherit!important;text-decoration:underline!important} a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} abbr[title]::after{content:" (" attr(title) ")"} pre,blockquote,tr,img,object,svg{page-break-inside:avoid} thead{display:table-header-group} svg{max-width:100%} p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} #toc,.sidebarblock,.exampleblock>.content{background:none!important} #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} body.book #header{text-align:center} body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} body.book #header .details{border:0!important;display:block;padding:0!important} body.book #header .details span:first-child{margin-left:0!important} body.book #header .details br{display:block} body.book #header .details br+span::before{content:none!important} body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} .listingblock code[data-lang]::before{display:block} #footer{padding:0 .9375em} .hide-on-print{display:none!important} .print-only{display:block!important} .hide-for-print{display:none!important} .show-for-print{display:inherit!important}} @media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem} .sect1{padding:0!important} .sect1+.sect1{border:0} #footer{background:none} #footer-text{color:rgba(0,0,0,.6);font-size:.9em}} @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} </style> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <body id="overview" class="book toc2 toc-left"> <div id="header"> <h1>개요</h1> <div class="details"> <span id="revnumber">version 1.0</span> </div> <div id="toc" class="toc2"> <div id="toctitle">Table of Contents</div> <ul class="sectlevel1"> <li><a href="#overview-http-verbs">HTTP 동사</a></li> <li><a href="#overview-http-status-codes">HTTP 상태 코드</a></li> <li><a href="#_유저">유저</a> <ul class="sectlevel2"> <li><a href="#_로그인_된_회원_조회">로그인 된 회원 조회</a></li> <li><a href="#_회원_조회">회원 조회</a></li> <li><a href="#_회원_조회_존재하지_않는_회원">회원 조회 (존재하지 않는 회원)</a></li> <li><a href="#_회원_조회_2">회원 조회</a></li> </ul> </li> <li><a href="#_점주">점주</a> <ul class="sectlevel2"> <li><a href="#_회원가입_점주">회원가입 - 점주</a></li> </ul> </li> </ul> </div> </div> <div id="content"> <div class="sect1"> <h2 id="overview-http-verbs"><a class="link" href="#overview-http-verbs">HTTP 동사</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">동사</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>GET</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">리소스를 가져올 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>POST</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 만들 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PUT</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>PATCH</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스의 일부를 수정할 때 사용</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DELETE</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 삭제할 떄 사용</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="overview-http-status-codes"><a class="link" href="#overview-http-status-codes">HTTP 상태 코드</a></h2> <div class="sectionbody"> <div class="paragraph"> <p>본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">상태 코드</th> <th class="tableblock halign-left valign-top">용례</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>200 OK</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청을 성공적으로 처리함</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>201 Created</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">새 리소스를 성공적으로 생성함. 응답의 <code>Location</code> 헤더에 해당 리소스의 URI가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>204 No Content</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">기존 리소스를 성공적으로 수정함.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>400 Bad Request</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>404 Not Found</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">요청한 리소스가 없음.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>409 Conflict</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우.</p></td> </tr> </tbody> </table> </div> </div> <div class="sect1"> <h2 id="_유저"><a class="link" href="#_유저">유저</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_로그인_된_회원_조회"><a class="link" href="#_로그인_된_회원_조회">로그인 된 회원 조회</a></h3> <div class="sect3"> <h4 id="_로그인_된_회원_조회_curl_request"><a class="link" href="#_로그인_된_회원_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/customer/' -i -X GET \ -H 'user-id: 1'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_로그인_된_회원_조회_http_request"><a class="link" href="#_로그인_된_회원_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /customer/ HTTP/1.1 user-id: 1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_로그인_된_회원_조회_http_response"><a class="link" href="#_로그인_된_회원_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 179

{ "code" : "SUCCESS", "message" : "", "data" : { "userId" : 1, "email" : "hoonasdasd@naver.com", "userName" : "이름", "phoneNumber" : "010-1234-5678" } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_로그인_된_회원_조회_request_headers"><a class="link" href="#_로그인_된_회원_조회_request_headers">Request headers</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user-id</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">로그인한 유저 id</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_로그인_된_회원_조회_response_fields"><a class="link" href="#_로그인_된_회원_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.userName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.email</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 이메일</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 휴대폰 번호</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_회원_조회"><a class="link" href="#_회원_조회">회원 조회</a></h3> <div class="sect3"> <h4 id="_회원_조회_curl_request"><a class="link" href="#_회원_조회_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/customer/1' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_http_request"><a class="link" href="#_회원_조회_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /customer/1 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_http_response"><a class="link" href="#_회원_조회_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 141

{ "code" : "SUCCESS", "message" : "", "data" : { "userId" : 1, "userName" : "이름", "phoneNumber" : "010-1234-5678" } }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_path_parameters"><a class="link" href="#_회원_조회_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /customer/{userId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_회원_조회_response_fields"><a class="link" href="#_회원_조회_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.userName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data.phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 휴대폰 번호</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_회원_조회_존재하지_않는_회원"><a class="link" href="#_회원_조회_존재하지_않는_회원">회원 조회 (존재하지 않는 회원)</a></h3> <div class="sect3"> <h4 id="_회원_조회_존재하지_않는_회원_curl_request"><a class="link" href="#_회원_조회_존재하지_않는_회원_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/customer/9999' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_존재하지_않는_회원_http_request"><a class="link" href="#_회원_조회_존재하지_않는_회원_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /customer/9999 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_존재하지_않는_회원_http_response"><a class="link" href="#_회원_조회_존재하지_않는_회원_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 409 Conflict Content-Type: application/json Content-Length: 94

{ "code" : "ERROR", "message" : "존재하지 않는 회원 입니다.", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_존재하지_않는_회원_path_parameters"><a class="link" href="#_회원_조회_존재하지_않는_회원_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /customer/{userId}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유번호</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_회원_조회_존재하지_않는_회원_response_fields"><a class="link" href="#_회원_조회_존재하지_않는_회원_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">데이터</p></td> </tr> </tbody> </table> </div> </div> <div class="sect2"> <h3 id="_회원_조회_2"><a class="link" href="#_회원_조회_2">회원 조회</a></h3> <div class="sect3"> <h4 id="_회원_조회_2_curl_request"><a class="link" href="#_회원_조회_2_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://127.0.0.1:8001/customers/1,2,3' -i -X GET</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_2_http_request"><a class="link" href="#_회원_조회_2_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">GET /customers/1,2,3 HTTP/1.1 Host: 127.0.0.1:8001</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_2_http_response"><a class="link" href="#_회원_조회_2_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 200 OK Content-Type: application/json Content-Length: 324

{ "code" : "SUCCESS", "message" : "", "data" : [ { "userId" : 1, "userName" : "이름1", "phoneNumber" : "010-1234-5678" }, { "userId" : 2, "userName" : "이름2", "phoneNumber" : "010-1234-5678" }, { "userId" : 3, "userName" : "이름3", "phoneNumber" : "010-1234-5678" } ] }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원_조회_2_path_parameters"><a class="link" href="#_회원_조회_2_path_parameters">Path parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. /customers/{customerIds}</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Parameter</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>customerIds</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유 번호들</p></td> </tr> </tbody> </table> </div> <div class="sect3"> <h4 id="_회원_조회_2_response_fields"><a class="link" href="#_회원_조회_2_response_fields">Response fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>code</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">결과 코드 SUCCESS/ERROR</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>message</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">메시지</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].userId</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 고유 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].userName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>data[*].phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">회원 전화번호</p></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="sect1"> <h2 id="_점주"><a class="link" href="#_점주">점주</a></h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_회원가입_점주"><a class="link" href="#_회원가입_점주">회원가입 - 점주</a></h3> <div class="sect3"> <h4 id="_회원가입_점주_curl_request"><a class="link" href="#_회원가입_점주_curl_request">Curl request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">$ curl 'http://admin.just-pickup.com:8001/api/owner/store-owner' -i -X POST \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "email" : "test@gmail.com", "password" : "1234", "name" : "테스트 이름", "phoneNumber" : "010-1234-5678", "businessNumber" : "03124", "storeName" : "테스트 매장", "storePhoneNumber" : "010-1234-5678", "address" : "충북 청주시 서원구 1순환로 627", "zipcode" : "28562", "latitude" : 36.6375346629654, "longitude" : 127.459726819858 }'</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원가입_점주_http_request"><a class="link" href="#_회원가입_점주_http_request">HTTP request</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">POST /api/owner/store-owner HTTP/1.1 Content-Type: application/json Accept: application/json Content-Length: 376 Host: admin.just-pickup.com:8001

{ "email" : "test@gmail.com", "password" : "1234", "name" : "테스트 이름", "phoneNumber" : "010-1234-5678", "businessNumber" : "03124", "storeName" : "테스트 매장", "storePhoneNumber" : "010-1234-5678", "address" : "충북 청주시 서원구 1순환로 627", "zipcode" : "28562", "latitude" : 36.6375346629654, "longitude" : 127.459726819858 }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원가입_점주_http_response"><a class="link" href="#_회원가입_점주_http_response">HTTP response</a></h4> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight nowrap"><code data-lang="http" class="language-http hljs">HTTP/1.1 201 Created Content-Type: application/json Content-Length: 59

{ "code" : "SUCCESS", "message" : "", "data" : null }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_회원가입_점주_request_fields"><a class="link" href="#_회원가입_점주_request_fields">Request fields</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Path</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>email</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">이메일</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>password</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">비밀번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>phoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">핸드폰 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>businessNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">사업자번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storeName</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 이름</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>storePhoneNumber</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>address</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 주소</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>zipcode</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">매장 우편번호</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>latitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">위도</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>longitude</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">경도</p></td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> Version 1.0<br> Last updated 2022-03-25 18:07:33 +0900 </div> </div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/github.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script> <script>hljs.initHighlighting()</script> </body> </html>
개요 개요 version 1.0 Table of Contents HTTP 동사 HTTP 상태 코드 유저 로그인 된 회원 조회 회원 조회 회원 조회 (존재하지 않는 회원) 회원 조회 점주 회원가입 - 점주 HTTP 동사 본 REST API에서 사용하는 HTTP 동사(verbs)는 가능한한 표준 HTTP와 REST 규약을 따릅니다. 동사 용례 GET 리소스를 가져올 때 사용 POST 새 리소스를 만들 때 사용 PUT 기존 리소스를 수정할 때 사용 PATCH 기존 리소스의 일부를 수정할 때 사용 DELETE 기존 리소스를 삭제할 떄 사용 HTTP 상태 코드 본 REST API에서 사용하는 HTTP 상태 코드는 가능한 표준 HTTP와 REST 규약을 따릅니다. 상태 코드 용례 200 OK 요청을 성공적으로 처리함 201 Created 새 리소스를 성공적으로 생성함. 응답의 Location 헤더에 해당 리소스의 URI가 담겨있다. 204 No Content 기존 리소스를 성공적으로 수정함. 400 Bad Request 잘못된 요청을 보낸 경우. 응답 본문에 더 오류에 대한 정보가 담겨있다. 404 Not Found 요청한 리소스가 없음. 409 Conflict 클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우. 유저 로그인 된 회원 조회 Curl request $ curl 'http://127.0.0.1:8001/customer/' -i -X GET \ -H 'user-id: 1' HTTP request GET /customer/ HTTP/1.1 user-id: 1 Host: 127.0.0.1:8001 HTTP response HTTP/1.1 200 OK Content-Type: application/json Content-Length: 179