오픈 API | 휴가, 외근, 재택 기능 활용하기!
안녕하세요 원티드스페이스입니다😀
원티드스페이스 기능 중 아래 기능은 오픈 API기능을 통해 원티드스페이스 앱을 사용하지 않고, 휴가, 외근, 재택 기능을 사용할 수 있도록, API기능을 만들었습니다.
아래 내용을 참고해서 API를 연동해주세요.
*아래 내용을 내부 개발자에게 전달해서 사용해주시면 되고, 연동 시 어려운 점이 있으면 챗봇을 통해 문의해주세요
Open API 설정
위 링크를 눌러 해당 페이지로 이동해주세요.
(해당 페이지는 최고 관리자만 접속 가능하니, API키와 시크릿 키는 최고관리자가 발급 후 개발자에게 안내해주세요.)
*API의 경우 근태 등의 정보를 포함하고 있음으로, 설정 및 권한 부여 시 반드시 주의해서 사용해주세요.
발급을 눌러 API와 시크릿키를 생성해주세요.
*** 발급 받은 API키와 시크릿키는 절대 공개된 곳에 오픈하지 마세요.**
API 권한 설정
필요한 API만 선택해서 저장해주세요.
IP보안 설정
API를 호출할 수 있는 IP를 입력해주세요. 입력하지 않으면, 모든 IP에서 해당 API를 호출할 수 있습니다.
인증
- HTTP Header에 Authorization에 오픈API시크릿키를 입력해주세요.
- 요청 시 key에 오픈API키를 입력해주세요.
제한
- 1분에 30번만 호출할 수 있어요.
- 호출당 50개의 결과가 조회돼요.
근태 이벤트 현황 조회
[GET] https://api.wantedspace.ai/tools/openapi/workevent/
Request Parameters
| 이름 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
| key | String | O | 오픈API key |
| date | String | O | 조회할 날짜 (ex. 2022-06-09) |
| type | String | X | 조회할 타입 |
| start_date | String | X | type이 range인 경우 사용 |
| end_date | String | X | type이 range인 경우 사용 |
| String | X | 조회할 이메일 주소 |
Response
| 이름 | 타입 | 설명 |
|---|---|---|
| next | String | 다음 페이지 URL |
| previous | String | 이전 페이지 URL |
| count | Number | 총 조회 개수 |
| results | Array | 조회결과 |
조회결과
| 이름 | 설명 |
|---|---|
| wk_start_date | 시작일 |
| wk_end_date | 종료일 |
| event_name | 신청 이름 |
| wk_counted_days | 신청 일수 |
| wk_alter_days | 휴일, 연장근무 신청 시 발생된 대체휴가 일수 |
| wk_comp_days | 휴일, 연장근무 신청 시 발생된 보상휴가 일수 |
| status | 결재 상태 |
| wk_location | 장소 |
| wk_comment | 사유 |
| username | 이름 |
| 이메일 | |
| evt_start_time | 시작시간 (시간 근태 신청 시) |
| evt_end_time | 종료시간 (시간 근태 신청 시) |
| eid | 사원번호 |
Example
Request
curl -H "Authorization: {오픈API시크릿키}"\
-X GET "<https://api.wantedspace.ai/tools/openapi/workevent/?key={오픈API키}&date=2022-06-09&type=month>"
Response
{
"next": null,
"previous": null,
"count": 2,
"results": [
{
"wk_start_date": "2022-06-15",
"wk_end_date": "2022-06-15",
"event_name": "보상휴가(시간)",
"wk_counted_days": 0.9375,
"wk_alter_days": 0.0,
"wk_comp_days": 0.0,
"status": "REQUESTED",
"wk_location": "",
"wk_comment": "",
"username": "하아름",
"email": "djlee@commonspace.ai",
"evt_start_time": "09:00:00",
"evt_end_time": "16:30:00"
},
{
"wk_start_date": "2022-06-14",
"wk_end_date": "2022-06-14",
"event_name": "연차",
"wk_counted_days": 1.0,
"wk_alter_days": 0.0,
"wk_comp_days": 0.0,
"status": "INFORMED",
"wk_location": "",
"wk_comment": "",
"username": "test220614",
"email": "test220614@test.com",
"evt_start_time": "09:00:00",
"evt_end_time": "18:00:00"
},
]
}
신청가능한 근태 이벤트 목록 조회
[GET] https://api.wantedspace.ai/tools/openapi/workevent/event_codes/
Request Parameters
| 이름 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
| key | String | O | 오픈API key |
Response
| 이름 | 타입 | 설명 |
|---|---|---|
| code | String | 이벤트 코드 |
| text | String | 이벤트 이름 |
| reason | String | 사유 작성 여부 |
| attach | String | 파일 첨부 여부 |
| minus | String | 마이너스 개수 신청 가능 여부 |
Example
Request
curl -H "Authorization: {오픈API시크릿키}"\
-X GET "<https://api.wantedspace.ai/tools/openapi/workevent/event_codes/?key={오픈API키}>"
Response
[
{
"code": "WNS_OUT_AM",
"text": "외근-간주(오전)",
"reason": true,
"attach": false,
"minus": false
},
{
"code": "WNS_OUT_PM",
"text": "외근-간주(오후)",
"reason": true,
"attach": false,
"minus": false
},
{
"code": "WNS_OUT_FULL",
"text": "외근-간주(종일)",
"reason": true,
"attach": false,
"minus": false
},
{
"code": "WNS_VACATION_FULL",
"text": "연차",
"reason": true,
"attach": false,
"minus": true
},
{
"code": "WNS_VACATION_QUARTER",
"text": "연차(2시간)",
"reason": true,
"attach": false,
"minus": true
},
....
]
근태 이벤트 신청
[POST] https://api.wantedspace.ai/tools/openapi/workevent/
Request Parameters
- Content-Type: application/json
| 이름 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
| key | String | O | 오픈API key |
| wk_start_date | String | O | 시작일 (ex. 2022-06-09) |
| wk_end_date | String | O | 종료일 (ex. 2022-06-09) |
| String | O | 신청할 이메일 | |
| wk_event | String | O | 이벤트 코드 |
| wk_comment | String | X | 근태 이벤트 목록 조회 api 결과값 중 reson이 true인 경우 필수 |
| evt_start_time | String | X | 시작 시간, 연차(시간) 과 같이 시간 근태인 경우 필수 (ex. "10:00") |
| evt_end_time | String | X | 종료 시간, 연차(시간) 과 같이 시간 근태인 경우 필수 (ex. "10:00") |
| alter_start_date | String | X | 휴일대체 시작일, 휴일대체 신청 시 필수 |
| alter_end_date | String | X | 휴일대체 종료일, 휴일대체 신청 시 필수 |
| alter_wk_event | String | X | 휴일대체 종류, 휴일대체 신청 시 필수 |
| wk_alter_days | String | X | 휴일 근로 수당 일수 신청, 대체휴가 지급개수 |
Response
| 이름 | 설명 |
|---|---|
| wk_start_date | 시작일 |
| wk_end_date | 종료일 |
| event_name | 신청 이름 |
| wk_counted_days | 신청 일수 |
| wk_alter_days | 휴일, 연장근무 신청 시 발생된 대체휴가 일수 |
| wk_comp_days | 휴일, 연장근무 신청 시 발생된 보상휴가 일수 |
| status | 결재 상태 |
| wk_location | 장소 |
| wk_comment | 사유 |
| username | 이름 |
| 이메일 | |
| evt_start_time | 시작시간 (시간 근태 신청 시) |
| evt_end_time | 종료시간 (시간 근태 신청 시) |
| eid | 사원번호 |
| v_days_after | 신청 후 잔여일 |
| v_days_before | 신청 전 잔여일 |
Example
Request
curl -d '{"key": "{오픈API키}",
"wk_start_date": "2022-07-17",
"wk_end_date": "2022-07-17",
"email": "a13@test.com",
"wk_event": "WNS_VACATION_TIME",
"evt_start_time": "10:00",
"evt_end_time": "12:00",
"wk_comment": "123123"}' \
-H "Authorization: {오픈API시크릿키}" \
-H "Content-Type: application/json" \
-X POST "<https://api.wantedspace.ai/tools/openapi/workevent/>"
Response
{
"wk_start_date": "2022-07-17",
"wk_end_date": "2022-07-17",
"event_name": "연차(시간)",
"wk_counted_days": 0.25,
"wk_alter_days": 0.0,
"wk_comp_days": 0.0,
"status": "REQUESTED",
"wk_location": "",
"wk_comment": "123123",
"username": "하아름",
"email": "a13@test.com",
"eid": "123123",
"evt_start_time": "10:00:00",
"evt_end_time": "12:00:00",
"wk_event": "WNS_VACATION_TIME",
"v_days_after": 9.41666666666667,
"v_days_before": 9.41666666666667
}
근태 이벤트 삭제
[DELETE] https://api.wantedspace.ai/tools/openapi/workevent/{이메일}/
Request Parameters
| 이름 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
| key | String | O | 오픈API key |
| wk_start_date | String | O | 시작일 (ex. 2022-06-09) |
| wk_end_date | String | O | 종료일 (ex. 2022-06-09) |
| wk_event | String | O | 이벤트 코드 |
| evt_start_time | String | X | 시작 시간, 연차(시간) 과 같이 시간 근태인 경우 필수 (ex. "10:00") |
| evt_end_time | String | X | 종료 시간, 연차(시간) 과 같이 시간 근태인 경우 필수 (ex. "10:00") |
Response
| 이름 | 설명 |
|---|---|
| deleted | 삭제된 이벤트 개수 |
Example
Request
curl -H "Authorization: {오픈api시크릿키}"\
-X DELETE "<https://api.wantedspace.ai/tools/openapi/workevent/{이메일}/?key={오픈api키}&wk_start_date=2022-07-14&wk_end_date=2022-07-14&evt_start_time=09:00:00&evt_end_time=18:00:00&wk_event=WNS_VACATION_TIME>"
Response
{
"deleted": 1
}