✅ 해당 기능이 제공되는 다우오피스 상품 유형
| 무료 | 서비스형 | 엔터프라이즈형 | HR형 | ||
|---|---|---|---|---|---|
| 스탠다드 | 스탠다드 | 프리미엄 | 스탠다드 | 프리미엄 | HR |
| ❌ | ❌ | ❌ | |||
Access Token 발행 API (공통 선행)
모든 OpenAPI 호출 전 반드시 Access Token을 먼저 발급받아야 합니다. 발급받은 Token은 이후 모든 API 호출의 Request Header에 포함됩니다.
📑Access Token 발행 API 상세 가이드
연차 현황 조회 API
✔️ Request URL
https://api.daouoffice.com/public/api/attnd-v2/attnd
해당 API는 다우오피스 OpenAPI Request URL(api.daouoffice.com)을 사용합니다.
✔️ HTTP Method
GET Method로 별도 Content-Type 정의 없음 (Query String 기반)
✉️ Request Body
GET이므로 쿼리 파라미터와 헤더로 구성됩니다.
Headers
| 변수 | 타입 | 필수 | 사전발급 | 설명 |
|---|---|---|---|---|
| Authorization | String | ✅ | ✅ |
Authorization: Bearer {ACCESS_TOKEN} 반드시 헤더에 포함. “Bearer” 뒤 공백 1칸 필수 |
Query Parameters (고객사 → 시스템 연동)
| 변수 | 타입 | 필수 | 사전발급 | 설명 |
|---|---|---|---|---|
| baseDate | String | ✅ | ⛔ | 조회 기준 일자(yyyy-MM-dd) 예) 2024-03-01 |
| employeeNumber | String | ⛔ | ⛔ |
조회할 사용자 사번 사번 미입력 시, 전체 사용자 기준으로 조회 |
| page | Number | ⛔ | ⛔ | 조회 페이지 (기본값 0) |
| pageSize | Number | ⛔ | ⛔ | 페이지 사이즈 (기본값 50) |
✉️ Request 예시
- 특정 사용자(사번) 단일 조회
Authorization : Bearer {ACCESS_TOKEN}
- 전체 사용자 기준 조회
Authorization : Bearer {ACCESS_TOKEN}
- 전체 사용자 + 페이지네이션
Authorization : Bearer {ACCESS_TOKEN}
📬Response Body
data 객체
| 변수 | 타입 | 필수 | 사전발급 | 설명 |
|---|---|---|---|---|
| code | int | ✅ | ⛔ | API 호출 결과 코드 |
| message | String | ✅ | ⛔ | 호출 결과 메시지 |
| data | object | ✅ | ⛔ | 실제 페이징/목록 데이터 |
data 페이징 정보
| 변수 | 타입 | 필수 | 사전발급 | 설명 |
|---|---|---|---|---|
| totalCount | Number | ✅ | ⛔ | 모든 데이터 수. 0부터 시작 |
| currentPage | Number | ✅ | ⛔ | 현재 페이지 수. 요청값과 동일 |
| pageSize | Number | ✅ | ⛔ | 1페이지 표현 데이터 수. 기본값 50 |
| totalPages | Number | ✅ | ⛔ | 모든 페이지 수 예) totalPages 20 > 0 ~ 19page 로 조회 |
목록 데이터
| 변수 | 타입 | 필수 | 사전발급 | 제약 | 설명 |
|---|---|---|---|---|---|
| employeeNumber | String | ✅ | ⛔ | Nullable | 사용자 사원번호(EmpNo) |
| platformUserId | String | ✅ | ⛔ | 다우오피스 사용자 내부 Primary Key | |
| loginId | String | ✅ | ⛔ | 다우오피스 사용자 로그인 ID | |
| name | String | ✅ | ⛔ | 다우오피스 사용자 이름 | |
| joinDate | String | ✅ | ⛔ | 입사일 (yyyy-mm-dd) | |
| resignationDate | String | ✅ | ⛔ | Nullable | 퇴사일 (yyyy-mm-dd) |
| startDate | String | ✅ | ⛔ | 연차 시작일 (yyyy-mm-dd) | |
| endDate | String | ✅ | ⛔ |
연차 종료일 (yyyy-mm-dd) 항상 연차시작일 + 1년 - 1일 로 설정됩니다. |
|
| remainQuantity | String | ✅ | ⛔ | 잔여 연차 예) 0.5d | |
| usedQuantity | String | ✅ | ⛔ | 사용 연차 예) 0.5d | |
| totalQuantity | String | ✅ | ⛔ | 총 연차 예) 0.5d | |
| grantQuantity | String | ✅ | ⛔ | 발생 연차 예) 0.5d | |
| carryOverQuantity | String | ✅ | ⛔ | 이월 연차 예) 0.5d | |
| adjustmentQuantity | String | ✅ | ⛔ | 조정 연차 예) 0.5d | |
| expiredQuantity | String | ✅ | ⛔ | 소멸 연차 예) 0.5d |
📬Response 예시
{
"message" : "OK",
"data" : {
"page" : {
"totalCount" : 1,
"currentPage" : 0,
"pageSize" : 50,
"totalPages" : 1
},
"elements" : [
{
"platformUserId" : "다우오피스 사용자 고유 식별자 ID 예)135612340000",
"loginId" : "다우오피스 사용자 계정 예)daou_sample",
"name" : "다우오피스 사용자 이름 예)김다우",
"employeeNumber" : null,
"joinDate" : "2025-10-14",
"resignationDate" : null,
"startDate" : "2025-06-21",
"endDate" : "2026-06-20",
"remainQuantity" :"2d",
"usedQuantity" : "0d",
"totalQuantity" : "2d",
"grantQuantity" : "2d",
"carryOverQuantity" : " 0d",
"adjustmentQuantity" : "0d",
"expiredQuantity" : "0d",
}
]
}
}
🚫 주요 오류 코드 예시
| 코드 | 내용 | 설명(Description) |
|---|---|---|
| 400 | 유효하지 않은 파라미터, 필수 파라미터 누락 | 유효하지 않은 파라미터입니다. 필수 파라미터가 누락되었습니다. |
| 401 | 토큰 없음/유효하지 않음/만료됨 |
유효하지 않은 토큰입니다. 토큰이 존재하지 않습니다. 만료된 토큰입니다. |
| 500 | 일시적 서버 오류 | 일시적인 서비스 오류입니다. |
- Authorization 헤더가 없거나 "Bearer" 문자열이 누락·오표기된 경우, 서버는 401만 반환하고 본문을 포함하지 않을 수 있음.