[미소 클론코딩 프로젝트] 2-11. 관리자 서비스 API 설계 - 견적서 관리

2023. 8. 12. 16:00초기 과업/BackEnd

작성자알 수 없는 사용자

728x90
반응형

2023.08.12 - [초기 과업/BackEnd] - [미소 클론코딩 프로젝트] 2-10. 관리자 서비스 API 설계 - 이용자 및 회원정보 관리

 

[미소 클론코딩 프로젝트] 2-10. 관리자 서비스 API 설계 - 이용자 및 회원정보 관리

2023.08.12 - [초기 과업/BackEnd] - [미소 클론코딩 프로젝트] 2-9. 관리자 서비스 API 설계 - 관리자 인증/인가 [미소 클론코딩 프로젝트] 2-9. 관리자 서비스 API 설계 - 관리자 인증/인가 2023.08.12 - [초기

giggal-people.tistory.com

 

안녕하세요. 기깔나는 사람들에서 백엔드를 맡고있는 황시아입니다.

이번 시간엔 관리자 서비스 중 견적서 관리 서비스 API를 설계해 보겠습니다.

 


견적서 관리 API

 


목록 조회

Request

API 호출 방식

요청 URL 메서드
/api/administrators/quotations GET

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Authorization String 필수 Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰
Content-Type String 필수 application/json이어야 함

 

Request Syntax

curl -X GET http://{BASE_URL}/api/administrators/quotations \
    -H "Content-Type: application/json;charset=utf-8" \
    -H "Authorization: Bearer {JWT_TOKEN}"

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message
  String 필수 API 공통 가이드 - 공통 Response 참조
data
  Object[] 필수 계약서 정보
id data String 필수 계약서 일련번호
memberName data String 필수 계약자명
memberAddress data String 필수 계약자 주소
memberContact data String 필수 계약자 연락처
vendorName data String 필수 업체명
vendorAddress data String 필수 업체 주소
vendorContact data String 필수 업체 연락처
serviceDate data String 필수 서비스 일자
serviceTime data String 필수 서비스 시간
startTime data String 필수 서비스 시작 시각
cost data Integer 필수 금액
createdAt data Timestamp 필수 계약서 생성 일시
signed data Boolean 필수 서명 여부
canceled data Boolean 필수 취소 여부
approved data Boolean 필수 승인 여부

 

Response Syntax

{
    "statusCode": 200,
    "message": "성공",
    "data": [
    {
        "id": 1,
        "memberName": "계약자명",
        "memberAddress": "계약자 주소",
        "memberContact": "계약자 연락처",
        "vendorName": "업체명",
        "vendorAddress": "업체 주소",
        "vendorContact": "업체 연락처",
        "serviceDate": "서비스 일자",
        "serviceTime": "서비스 시간",
        "startTime": "시작 시각",
        "cost": "가격",
        "createdAt": "계약서 생성일시",
        "signed": "서명 여부",
        "canceled": "취소 여부",
        "approved": "승인 여부"
    },
    {
        "id": 2,
        "memberName": "계약자명",
        "memberAddress": "계약자 주소",
        "memberContact": "계약자 연락처",
        "vendorName": "업체명",
        "vendorAddress": "업체 주소",
        "vendorContact": "업체 연락처",
        "serviceDate": "서비스 일자",
        "serviceTime": "서비스 시간",
        "startTime": "시작 시각",
        "cost": "가격",
        "createdAt": "계약서 생성일시",
        "signed": "서명 여부",
        "canceled": "취소 여부",
        "approved": "승인 여부"
    }
    ]
}

특정 견적서 조회

Request

API 호출 방식

요청 URL 메서드
/api/administrators/quotations/{id} GET

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Authorization String 필수 Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰
Content-Type String 필수 application/json이어야 함

 

Request Syntax

curl -X GET http://{BASE_URL}/api/administrators/quotations/{id} \
    -H "Content-Type: application/json;charset=utf-8" \
    -H "Authorization: Bearer {JWT_TOKEN}"

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message
  String 필수 API 공통 가이드 - 공통 Response 참조
data
  Object[] 필수 계약서 정보
id data String 필수 계약서 일련번호
memberName data String 필수 계약자명
memberAddress data String 필수 계약자 주소
memberContact data String 필수 계약자 연락처
vendorName data String 필수 업체명
vendorAddress data String 필수 업체 주소
vendorContact data String 필수 업체 연락처
serviceDate data String 필수 서비스 일자
serviceTime data String 필수 서비스 시간
startTime data String 필수 서비스 시작 시각
cost data Integer 필수 금액
createdAt data Timestamp 필수 계약서 생성 일시
signed data Boolean 필수 서명 여부
canceled data Boolean 필수 취소 여부
approved
data Boolean 필수 승인 여부

 

Response Syntax

{
    "statusCode": 200,
    "message": "성공",
    "data": {
        "id": 1,
        "memberName": "계약자명",
        "memberAddress": "계약자 주소",
        "memberContact": "계약자 연락처",
        "vendorName": "업체명",
        "vendorAddress": "업체 주소",
        "vendorContact": "업체 연락처",
        "serviceDate": "서비스 일자",
        "serviceTime": "서비스 시간",
        "startTime": "시작 시각",
        "cost": "가격",
        "createdAt": "계약서 생성일시",
        "signed": "서명 여부",
        "canceled": "취소 여부",
        "approved": "승인 여부"
    }
}

견적서 승인

팀장 이상만 가능

 

Request

API 호출 방식

요청 URL 메서드
/api/administrators/quotations/{id} PATCH

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Authorization String 필수 Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰
Content-Type String 필수 application/json이어야 함

 

Request Syntax

curl -X PATCH http://{BASE_URL}/api/administrators/quotations/{id} \
    -H "Content-Type: application/json;charset=utf-8" \
    -H "Authorization: Bearer {JWT_TOKEN}"

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message
  String 필수 API 공통 가이드 - 공통 Response 참조

 

Response Syntax

{
    "statusCode": 200,
    "message": "성공"
}

 

 

 

 

 

728x90
반응형