Skip to content

checkmate API Document

Hyeonwoo Cho edited this page Sep 12, 2018 · 13 revisions

checkmate API Document

HOST

http://13.209.76.45:3000/

API

name method uri
로그인 POST /auth/login
전체 근무지 조회하기 GET /user/{userId}/work
단일 근무지 추가하기 POST /user/{userId}/work
단일 근무지 조회하기 GET /user/{userId}/work/{workId}
단일 근무지 수정하기 PUT /user/{userId}/work/{workId}
단일 근무지 삭제하기 DELETE /user/{userId}/work/{workId}
메인 화면 조회하기 GET /user/{userId}/work/{workId}/main
근무 시간 기록하기 POST /user/{userId}/work/{workId}/main
이번달 월급 정보 자세히 조회하기 GET /user/{userId}/work/{workId}/main/detail
달력 화면 조회하기 GET /user/{userId}/work/{workId}/main/calendar/{year}/{month}
달력에서 일자별 조회하기 GET /user/{userId}/work/{workId}/main/calendar/{year}/{month}/{day}

로그인

URI

POST /auth/login

REQUEST

{
   "id": "889870181",
   "nickname": "홍길동",
   "email": "[email protected]",
   "thumbnail_image": "[email protected]"
}

RESPONSE

200 : OK

{
   "code": 200,
   "message": "OK"
}

404 : NOT FOUND

미구현

500 : INTERNAL SERVER ERROR

{
   "code": 500,
   "message": "INTERNAL SERVER ERROR"
}

DESCRIPTION OF THE FIELD To Top

key type description
id string 사용자의 카카오톡 고유 id
nickname string 사용자의 카카오톡 닉네임
email string 사용자의 카카오톡 계정 이메일
thumbnail_image string 사용자의 카카오톡 프로필 이미지 썸네일 url

전체 근무지 조회하기

URI

GET /user/{userId}/work

REQUEST

body 없음

RESPONSE

[
   {
      "id": "workId0001",
      "user_id": "123456789",
      "name": "맥도날드",
      "address": "서울특별시 성북구 봉선동 1가",
      "latitude": 10.21593,
      "longitude": 43.87534,
      "hourly_wage": 7530,
      "probation": 2,
      "recess": 1,
      "recess_state": 0,
      "pay_day": 25,
      "tax": 3.3,
      "five_state": 0,
      "working_day": "1010100"
   },
   {
      "id": "workId0002",
      "user_id": "123456789",
      "name": "롯데리아",
      "address": "서울특별시 성북구 봉선동 2가",
      "latitude": 43.87534,
      "longitude": 10.21593,
      "hourly_wage": 8000,
      "probation": 1,
      "recess": 2,
      "recess_state": 1,
      "pay_day": 15,
      "tax": 8.5,
      "five_state": 1,
      "working_day": "1111100"
   }
]

DESCRIPTION OF THE FIELD To Top

key type description
id string 근무지 식별자 id
user_id string 유저 id
name string 근무지명
address string 근무지 주소
latitude double 근무지 위도
longitude double 근무지 경도
hourly_wage int 시급
probation int 수습기간(월단위)
recess int 휴게시간(시간단위)
recess_state int 휴게시간 유무급 여부(무급-0/유급-1)
pay_day int 급여일(일단위)
tax double 세금 적용 비율(8.5/3.3)
five_state int 상시근로자 5인 이상 사업장 여부(미만-0/이상-1)
working_day string 근무일(휴일-0/근무일-1)

단일 근무지 추가하기

URI

POST /user/{userId}/work

REQUEST

{
   "name": "맥도날드",
   "address": "서울특별시 성북구 봉선동 1가",
   "latitude": 10.21593,
   "longitude": 43.87534,
   "hourly_wage": 7530,
   "probation": 2,
   "recess": 1,
   "recess_state": 0,
   "pay_day": 25,
   "tax": 3.3,
   "five_state": 0,
   "working_day": "1010100"
}

RESPONSE

200 : OK

{
   "code": 200,
   "message": "OK"
}

404 : NOT FOUND

미구현

500 : INTERNAL SERVER ERROR

{
   "code": 500,
   "message": "INTERNAL SERVER ERROR"
}

DESCRIPTION OF THE FIELD To Top

key type description
name string 근무지명
address string 근무지 주소
latitude double 근무지 위도
longitude double 근무지 경도
hourly_wage int 시급
probation int 수습기간(월단위)
recess int 휴게시간(시간단위)
recess_state int 휴게시간 유무급 여부(무급-0/유급-1)
pay_day int 급여일(일단위)
tax double 세금 적용 비율(8.5/3.3)
five_state int 상시근로자 5인 이상 사업장 여부(미만-0/이상-1)
working_day string 근무일(휴일-0/근무일-1)

단일 근무지 조회하기

URI

GET /user/{userId}/work/{workId}

REQUEST

body 없음

RESPONSE

{
   "id": "workId0001",
   "user_id": "123456789",
   "name": "맥도날드",
   "address": "서울특별시 성북구 봉선동 1가",
   "latitude": 10.21593,
   "longitude": 43.87534,
   "hourly_wage": 7530,
   "probation": 2,
   "recess": 1,
   "recess_state": 0,
   "pay_day": 25,
   "tax": 3.3,
   "five_state": 0,
   "working_day": "1010100"
}

DESCRIPTION OF THE FIELD To Top

key type description
id string 근무지 id
user_id string 유저 id
name string 근무지명
address string 근무지 주소
latitude double 근무지 위도
longitude double 근무지 경도
hourly_wage int 시급
probation int 수습기간(월단위)
recess int 휴게시간(시간단위)
recess_state int 휴게시간 유무급 여부(무급-0/유급-1)
pay_day int 급여일(일단위)
tax double 세금 적용 비율(8.5/3.3)
five_state int 상시근로자 5인 이상 사업장 여부(미만-0/이상-1)
working_day string 근무일(휴일-0/근무일-1)

단일 근무지 수정하기

URI

PUT /user/{userId}/work/{workId}

REQUEST

{
   "name": "맥도날드",
   "address": "서울특별시 성북구 봉선동 1가",
   "latitude": 10.21593,
   "longitude": 43.87534,
   "hourly_wage": 7530,
   "probation": 2,
   "recess": 1,
   "recess_state": 0,
   "pay_day": 25,
   "tax": 3.3,
   "five_state": 0,
   "working_day": "1010100"
}

RESPONSE

200 : OK

{
   "code": 200,
   "message": "OK"
}

404 : NOT FOUND

미구현

500 : INTERNAL SERVER ERROR

{
   "code": 500,
   "message": "INTERNAL SERVER ERROR"
}

DESCRIPTION OF THE FIELD To Top

key type description
name string 근무지명
address string 근무지 주소
latitude double 근무지 위도
longitude double 근무지 경도
hourly_wage int 시급
probation int 수습기간(월단위)
recess int 휴게시간(시간단위)
recess_state int 휴게시간 유무급 여부(무급-0/유급-1)
pay_day int 급여일(일단위)
tax double 세금 적용 비율(8.5/3.3)
five_state int 상시근로자 5인 이상 사업장 여부(미만-0/이상-1)
working_day string 근무일(휴일-0/근무일-1)

단일 근무지 삭제하기

URI

DELETE /user/{userId}/work/{workId}

REQUEST

body 없음

RESPONSE

200 : OK

{
   "code": 200,
   "message": "OK"
}

404 : NOT FOUND

미구현

500 : INTERNAL SERVER ERROR

{
   "code": 500,
   "message": "INTERNAL SERVER ERROR"
}

DESCRIPTION OF THE FIELD To Top

key type description
code int http 상태코드
message string 메세지

메인 화면 조회하기

URI

GET /user/{userId}/work/{workId}/main

REQUEST

body 없음

RESPONSE

{
   "base_day": 31,
   "total_day": 25,
   "total_money": 691200,
   "total_hour": 72,
   "hourly_wage": 8000
}

DESCRIPTION OF THE FIELD To Top

key type description
base_day int 이전달 월급일과 이번달 월급일의 차이
total_day int 이전 월급일 다음날부터 현재까지 일수
total_money int 현재까지 이번달 번 돈
total_hour int 이번달 일한 시간
hourly_wage int 시급

근무 시간 기록하기

URI

POST /user/{userId}/work/{workId}/main

REQUEST

{
   "working_state": 1
}

RESPONSE

200 : OK

{
   "code": 200,
   "message": "OK"
}

404 : NOT FOUND

미구현

500 : INTERNAL SERVER ERROR

{
   "code": 500,
   "message": "INTERNAL SERVER ERROR"
}

DESCRIPTION OF THE FIELD To Top

key type description
working_state int 1(On)/0(Off)

이번달 월급 정보 자세히 조회하기

URI

GET /user/{userId}/work/{workId}/main/detail

REQUEST

body 없음

RESPONSE

{
   "total_money": 518400,
   "total_hour": 72,
   "hourly_wage": 8000,
   "weekly_holiday_allowance": 50000,
   "night_allowance": 30000,
   "holiday_allowance": 0,
   "overtime_pay": 0
}

DESCRIPTION OF THE FIELD To Top

key type description
total_money int 현재까지 이번달 번 돈
total_hour int 현재까지 이번달 일한 시간
hourly_wage int 시급
weekly_holiday_allowance int 현재까지 이번달 주휴수당
night_allowance int 현재까지 이번달 야간근로수당
holiday_allowance int 현재까지 이번달 휴일근로수당
overtime_pay int 현재까지 이번달 연장근로수당

달력 화면 조회하기

URI

GET /user/{userId}/work/{workId}/main/calendar/{year}/{month}

REQUEST

body 없음

RESPONSE

[
   {
      "date": "18-08-20",
      "daily_wage": 72000
   },
   {
      "date": "18-08-22",
      "daily_wage": 75040
   }
]

DESCRIPTION OF THE FIELD To Top

key type description
date int 근무한 일자
daily_wage int 그날 번 돈

달력에서 일자별 조회하기

URI

GET /user/{userId}/work/{workId}/main/calendar/{year}/{month}/{day}

REQUEST

body 없음

RESPONSE

{
   "daily_wage": 80000,
   "hourly_wage": 7350,
   "working_hour": 5,
   "time": [
              {
                 "timestamp": "18-08-04 11:00:00"
              },
              {
                 "timestamp": "18-08-04 13:00:00"
              },
              {
                 "timestamp": "18-08-04 14:00:00"
              },
              {
                 "timestamp": "18-08-04 17:00:00"
              }
           ],
   "night_allowance": 30000,
   "holiday_allowance": 0,
   "overtime_pay": 0,
   "weekly_holiday_allowance": 50000,
}

DESCRIPTION OF THE FIELD To Top

key type description
daily_wage int 당일 번 돈
hourly_wage int 시급
working_hour int 당일 일한 시간
time array 당일 근무 시간 기록 정보
timestamp string 당일 근무 시간 기록(YY-MM-DD HH:MM:SS)
night_allowance int 당일 야간근로수당
holiday_allowance int 당일 휴일근로수당
overtime_pay int 당일 연장근로수당
weekly_holiday_allowance int 주휴수당