Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

3.1. API Design

sieun edited this page Nov 9, 2021 · 36 revisions

개요

  • request
    • HTTP method + URL path
    • body : JSON, multipart/form-data
      {
          key: value
      }
      
  • response
    • status code
    • body : JSON
      • 성공
      {
          status: "",
          message: "",
          data: {}
      }
      
      {
          status: "",
          message: "",
          data: []
      }
      
      • 실패
      {
          errorMessage: ''
      }
      
  • 버전관리 ?



공통 및 기타

  • 회원가입 : [POST] /users/sign-up
{
    name: '홍길동'
    email: '[email protected]',
    password: '1234',
    phone: '01012345678'
}
  • 로그인 : [POST] /users/login
  • 로그아웃 : [POST] /users/logout
  • 상품 검색 : [GET] /main/search?name={name}


상품 목록 페이지 : [GET] /products/{delivery-type}

  • 로켓배송의 카테고리 목록과 상품 목록 조회 : [GET] /products/rocket
  • 로켓프레시의 카테고리 목록과 상품 목록 조회 : [GET] /products/rocket-fresh
  • 로켓직구의 카테고리 목록과 상품 목록 조회 : [GET] /products/rocket-overseas
  • 정기배송의 카테고리 목록과 상품 목록 조회 : [GET] /products/regular


이벤트/쿠폰 목록 페이지

  • 이벤트/쿠폰 목록 조회 : [GET] /available-coupons
  • 쿠폰 받기 : `[POST} /available-coupons/{id}


상품 상세 페이지

  • 상품 상세 정보 조회 : [GET] /products/{id}
  • 장바구니 담기 : [POST] /cart
{
    options: {    // 옵션은 제품마다 달라질 수 있음
        color: 'green',
        capacity: 10
    },
    number: 3
}
  • 상품 리뷰 : [POST] /reviews
productId: 1
score: 10
content: '튼튼하고 실용적입니다.'
img: [file]  
  • 상품 리뷰 평가하기 : [POST]/reviews/evaluate
reviewId: 3
evaluation: help
reviewId: 3
evaluation: no-help


장바구니 페이지

  • 장바구니 페이지 : [GET] /carts
  • 내 상품 목록 보여주기 : [GET] /carts
  • 구매하기 : [POST] /carts/purchase
{
    1: { // product ID
        options: {    // 옵션은 제품마다 달라질 수 있음
            color: 'green',
            capacity: 10
        },
        number: 3
    }
}


주문/결제 페이지

  • 구매자 정보 보여주기 : [GET] /orders/{id}
  • 받는사람 정보 보여주기 : [GET] /orders/{id}
  • 배송 정보 보여주기 : [GET] /orders/{id}
  • 결제 정보 보여주기 : [GET] /orders/{id}
  • 결제하기 : [POST] /orders/{id}/pay
{
    request: '문 앞'    // 요청사항
    payment: 'credit-card'
}


MY쿠팡 페이지

  • 주문목록/배송조회 : [GET] /mypage/orders
  • 취소/반품/교환/환불 내역 조회 : [GET] /mypage/cancel
  • 로켓와우 멤버십 관리 : [GET] /mypage/memberships
  • 정기배송 관리 : [GET] /mypage/regular
  • 영수증 조회/출력 : [GET] /mypage/bills
  • 할인쿠폰 : [POST] /mypage/coupons
{
    code: '12345'
}
  • 문의하기 : [POST] /mypage/inquiries
{
    content: '주문한 상품에 대해 문의하고 싶어요.'
}
  • 문의 내역 확인 : [GET] /mypage/ask-histories
  • 리뷰관리 : [GET] /mypage/review-histories
  • 개인정보 수정 : [PUT] /mypage/my-info
{
    email: '[email protected]',
    name: '홍길동',
    phone: '01012345678',
    password: '1234'
}
  • 배송지 관리 : [PUT] /mypage/address-info
{
    1: {    // address ID
        receiver: '홍길순',
        address: '서울 0구 00동 00아파트 0동 0호',
        phone: '01012345678'
    }
}
Clone this wiki locally