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

2023. 8. 12. 16:26카테고리 없음

작성자알 수 없는 사용자

728x90
반응형

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

 

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

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

giggal-people.tistory.com

 

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

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

 


이용자 계약서 관리 API

 


목록 조회

Request

API 호출 방식

요청 URL 메서드
/api/administrators/members/contracts 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/members/contracts \
    -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 필수 승인 여부
accepted data Boolean 필수 업체 수락 여부

 

Response Syntax

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

특정 계약서 조회

Request

API 호출 방식

요청 URL 메서드
/api/administrators/members/contracts/{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/members/contracts/{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 필수 승인 여부
accepted data Boolean 필수 업체 수락 여부

 

Response Syntax

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

승인

팀장 이상만 가능

 

Request

API 호출 방식

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

 

Request Header

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

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

 

Request Elements

없음

 

Request Syntax

curl -X PATCH http://{BASE_URL}/api/administrators/members/contracts/{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": "성공"
}

업무 배정

슈퍼관리자만 가능

 

Request

API 호출 방식

요청 URL 메서드
/api/administrators/members/contracts/{id}/assign PUT

 

Request Header

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

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

 

Request Elements

없음

 

Request Syntax

curl -X PUT http://{BASE_URL}/api/administrators/members/contracts/{id}/assign \
    -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
반응형