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": "qwerty@gmail.com",
   "thumbnail_image": "thumbnail_image_url@kakako.com"
}

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 ์ฃผํœด์ˆ˜๋‹น