✅ 해당 기능이 제공되는 다우오피스 상품 유형

무료 서비스형 엔터프라이즈형 HR형
스탠다드 스탠다드 프리미엄 스탠다드 프리미엄 HR
화면 캡처 2025-07-08 134621.png 화면 캡처 2025-07-08 134621.png

👉🏼 유형별 제품 안내 보기 

 

 

Works 데이터 조회 API

다우오피스 Works 데이터 조회 API는 외부 시스템에서 사용자가 권한을 가진 Works 앱, 문서, 컴포넌트, 상태 리스트를 조회할 수 있도록 제공되는 기능입니다.  예를 들어, 외부 ERP 시스템에서 Works '영업 관리' 앱에 등록된 계약 건을 조회하여 가져오거나, 사내 자체 대시보드에 Works '업무 요청' 앱의 진행 상태 리스트를 연동하여 보여줄 수 있습니다. 

 

1️⃣ 사용 전 확인 사항

Works API는 기능에 따라 요구하는 인증 방식이 다릅니다. 데이터 연동 전 아래의 차이점을 확인해 주세요.

구분 인증 방식 설명 및 사용법
데이터 등록/수정/삭제 Works 전용 토큰 Works 앱 설정에서 개별적으로 발급하여 사용
📑Works 데이터 등록/수정/삭제
데이터 조회 (Read) Access Token 시스템 인증키(Client ID / Secret)를 통해 공통 발급하여 사용
※ API 호출 시 Header에 Bearer 토큰 형태로 포함

2️⃣ 전체 연동 흐름 안내

Works 데이터를 조회하기 위해서는 아래의 순서대로 API를 호출해야 합니다.

  1. 인증키 발급 (최초 1회)
    다우오피스 OpenAPI 연동을 위한 공통 인증키(Client ID / Secret)가 없다면 가장 먼저 발급
    📑 인증키 발급 가이드 바로가기
  2. Access Token 발행 (토큰 만료 시마다) 
    발급받은 인증키를 활용해 Works 조회를 위한 Access Token을 발급
    이때 loginId 파라미터가 필수로 요구됨
  3. Works 데이터 조회
    발급받은 Access Token을 Header에 담아(Authorization: Bearer {access_token}) 
    Works 앱 리스트, 문서, 컴포넌트 등의 데이터를 조회

 

 

 

Works Access Token 발행

Works 데이터를 조회하기 위해서는 Access Token을 발급 받아야 합니다. 

전반적인 토큰 발급 방법은 📑 Access Token 발행 가이드와 동일하지만, Works 데이터 조회용 토큰을 발급할 때만 추가로 요구되는 필수 파라미터(loginId)가 있습니다. 본 항목에서는 공통 가이드와의 차이점을 중심으로 안내합니다.

 

✔️ Request URL

https://api.daouoffice.com/public/auth/v1/oauth2/token

 

✔️ HTTP Method

POST (Content-Type: application/json; charset=UTF-8)

 

✉️ Request Header & Params

Header

변수 타입 필수 사전발급 설명
Authorization String

RFC 6749 표준의 Basic 인증 방식 사용.

client_id와 client_secret을 :로 연결 후 Base64 인코딩하여 Authorization 헤더에 포함.

예) Authorization: Basic bXlfY2xpZW50X2lkOm15X2NsaWVudF9zZWNyZXQ=

Parameter

변수 타입 필수 사전발급 설명
grant_type String 고정값 client_credentials 사용
scope String 고정값 groupware_user 사용
loginId String 그룹웨어 loginId (@도메인 은 제외)

 

📬 Response Body

변수 타입 필수 사전발급 설명
token_type String 토큰 타입, DOAS에서는 bearer 고정
expires_in String 토큰 유효기간(초 단위), 현재 1일(86400초)
access_token String Access Token, DOAS API 호출 시 Authorization 헤더에 포함

 

📬 Response 예시

Content-Type : application/json;charset=UTF-8

{
  "token_type": "bearer",
  "access_token": "eyJhbGciOiJIUzI1NiJ9.eyJp....",
  "expires_in": 86400
}

 

 

 

Works 앱 리스트 조회

사용자가 조회 권한을 가진 Works 앱(go_applets) 목록을 조회합니다.

 

✔️ Request URL

https://api.daouoffice.com/public/v1/works/applets

 

✔️ HTTP Method

GET Method로 별도 Content-Type 정의 없음 (Query String 기반) 

 

✉️ Request Header

변수 타입 필수 사전발급 설명
Authorization String

access_token

Bearer <토큰값> 형식 (사이 공백 필수)

예) Bearer eyJhbGciOiJIUzI1NiJ9.eyJp…

 

✉️ Request 예시

GET https://api.daouoffice.com/public/v1/works/applets
Authorization :  Bearer {access_token}

 

📬Response Body 

data 객체 (Array)

변수 타입 필수 사전발급 설명
appletId Long applet 식별자
createdAt String 생성시간 (yyyy-MM-dd'T'HH:mm:ss.SSSXXX)
updatedAt String 수정시간 (yyyy-MM-dd'T'HH:mm:ss.SSSXXX)
name String 앱 이름
favoriteFlag boolean 앱 즐겨찾기 여부
desc

String

앱 설명
template

boolean

앱 템플릿 여부
admin

boolean

앱 운영자 여부

 

📬 Response 예시

Content-Type : application/json;charset=UTF-8

[
  {
    "appletId": 1442318080368730112,
    "createdAt": "2025-11-24T09:57:07.334+09:00",
    "name": "DOAS 연동앱",
    "favoriteFlag": false,
    "desc": "빈 템플릿으로 새로운 앱을 만들 수 있습니다.",
    "template": false,
    "admin": true
  },
  {
    "appletId": 1457999608977309696,
    "createdAt": "2026-01-06T16:29:55.103+09:00",
    "name": "V비즈링+V프로필 현황",
    "favoriteFlag": false,
    "desc": "V비즈링 및 V프로필 상품의 동/서부센터 영업현황을 집계하는 템플릿 입니다.",
    "template": false,
    "admin": true
  }
]

 

 

 

Works 문서 목록 조회

특정 Works 앱 내의 문서(go_applet_docs) 데이터를 조회합니다.

 

✔️ Request URL

https://api.daouoffice.com/public/v1/works/applets/{appletId}/documents

 

✔️ HTTP Method

GET Method로 별도 Content-Type 정의 없음 (Query String 기반)

 

✉️ Request Header & Params

Header

변수 타입 필수 사전발급 설명
Authorization String

access_token

Bearer <토큰값> 형식 (사이 공백 필수)

예) Bearer eyJhbGciOiJIUzI1NiJ9.eyJp…

Parameter

변수 타입 필수 사전발급 설명
appletId Long applet 식별자 (PathVariable)
page Long page 번호 (기본값: 0)
offset Long 페이지당 노출 개수 (기본값: 20)

 

✉️ Request 예시

GET https://api.daouoffice.com/public/v1/works/applets/1442318080368730112/documents?page=0&offset=20
Authorization :  Bearer {access_token}

 

📬 Response Body

pageInfo 객체

변수 타입 필수 사전발급 설명
page int 검색 페이지
offset int 페이지당 노출 개수
total int 전체 갯수
lastPage boolean 마지막 페이지 여부
totalPage int 전체 페이지 개수

 

content 배열 구조

변수 타입 필수 사전발급 설명
appletId Long 애플릿 식별자
docId Long 문서 식별자
privateFlag boolean 비공개여부
status String 문서 상태
values Array 문서 내용
  ↳ cid String 입력항목 cid
  ↳ label String 입력항목 이름
  ↳ value Object 입력항목 값

 

📬 Response 예시

Content-Type : application/json;charset=UTF-8

{     
   "pageInfo": {     
       "page": 0,     
       "offset": 20,     
       "total": 27,     
       "lastPage": false,     
       "totalPage": 2     
   },     
   "content": [     
       {     
           "appletId": 1442318080368730112,     
           "docId": 1443096432121769984,     
           "privateFlag": false,     
           "status": "대기",     
           "values": [     
               {     
                   "cid": "creator",     
                   "label": "등록자",     
                   "value": "그룹웨어관리자  (admin@i8jwcebrt7.co.co)"     
               },     
               {     
                   "cid": "_u51s5ada8",     
                   "label": "날짜",     
                   "value": "2025-11-25"     
               },     
               {     
                   "cid": "_v65c1sify",     
                   "label": "체크박스",     
                   "value": "a,b"     
               }     
           ]     
       }     
   ]     
}    

 

 

 

Works 앱 컴포넌트 목록 조회

특정 Works 앱을 구성하는 컴포넌트(go_applet_fields) 목록을 조회합니다.

 

✔️ Request URL

https://api.daouoffice.com/public/v1/works/applets/{appletId}/components

 

✔️ HTTP Method

GET Method로 별도 Content-Type 정의 없음 (Query String 기반)

 

✉️ Request Header & Params

Header

변수 타입 필수 사전발급 설명
Authorization String

access_token

Bearer <토큰값> 형식 (사이 공백 필수) 

예) Bearer eyJhbGciOiJIUzI1NiJ9.eyJp…

Parameter

변수 타입 필수 사전발급 설명
appletId Long applet 식별자 (PathVariable)

 

✉️ Request 예시

GET https://api.daouoffice.com/public/v1/works/applets/1442318080368730112/components
Authorization :  Bearer {access_token}

 

📬 Response Body

data 객체 (Array)

변수 타입 필수 사전발급 설명
cid String 입력 필드 식별자
label String 입력 항목 라벨
fieldType String 입력 항목 타입
valueType String 입력 항목 값 타입
enum[STEXT, STEXTS, TEXT, CONTENT, NUMBER, DATE, TIME, DATETIME, SELECT, SELECTS, FILES, USER, USERS, DEPTS, APPLETDOCS]
multiple boolean 컴포넌트가 복수형인지 여부
properties Map<String, Object>
options Object 선택형 옵션 배열
  ↳ value Long 내부적으로 갖는 값
  ↳ stringValue String value를 문자열로 캐스팅한 값
  ↳ displayText String 화면에 보여지는 값
  ↳ selected boolean

 

📬 Response 예시

Content-Type : application/json;charset=UTF-8

{     
[ {     
   "cid" : "status",     
   "label" : "상태",     
   "fieldType" : "status",     
   "valueType" : "SELECT",     
   "options" : [ {     
     "value" : 1442318080381313024,     
     "stringValue" : "1442318080381313024",     
     "displayText" : "대기",     
     "selected" : false     
   }, {     
     "value" : 1442318080381313025,     
     "stringValue" : "1442318080381313025",     
     "displayText" : "진행",     
     "selected" : false     
   }, {     
     "value" : 1442318080381313026,     
     "stringValue" : "1442318080381313026",     
     "displayText" : "완료",     
     "selected" : false     
   } ],     
   "multiple" : false     
 } ]     
}     

 

 

 

Works 앱 상태 목록 조회

특정 Works 앱의 프로세스 상태(go_applet_statuses) 목록을 조회합니다.

 

✔️ Request URL

https://api.daouoffice.com/public/v1/works/applets/{appletId}/statuses

 

✔️ HTTP Method

GET Method로 별도 Content-Type 정의 없음 (Query String 기반)

 

✉️ Request Header & Params

Header

변수 타입 필수 사전발급 설명
Authorization String

access_token

Bearer <토큰값> 형식 (사이 공백 필수)

예) Bearer eyJhbGciOiJIUzI1NiJ9.eyJp…

Parameter

변수 타입 필수 사전발급 설명
appletId Long applet 식별자 (PathVariable)

 

✉️ Request 예시

GET https://api.daouoffice.com/public/v1/works/applets/1442318080368730112/statuses
Authorization :  Bearer {access_token}

 

📬 Response Body

data 객체 (Array)

변수 타입 필수 사전발급 설명
id String 상태 식별자 ID
name String 입력 필드 식별자
start boolean 애플릿의 처음 상태인지 여부
doing boolean 애플릿의 중간 상태인지 여부
end boolean 애플릿의 마지막 상태인지 여부
color Long 해당 상태를 나타내는 색상 값

 

📬 Response 예시

Content-Type : application/json;charset=UTF-8

[     
   {     
       "id": "1461540975062843392",     
       "name": "대기",     
       "start": true,     
       "doing": false,     
       "end": false,     
       "color": "0"     
   },     
   {     
       "id": "1461540975071232000",     
       "name": "진행",     
       "start": false,     
       "doing": true,     
       "end": false,     
       "color": "0"     
   },     
   {     
       "id": "1461540975071232001",     
       "name": "완료",     
       "start": false,     
       "doing": false,     
       "end": true,     
       "color": "0"     
   }     

 

 

 

⚠️ 데이터 조회 제약 사항

Works API를 통해 데이터를 조회할 때, 컴포넌트 특성에 따라 일부 데이터가 반환되지 않거나 제한적으로 노출됩니다. 개발 시 시스템에 오류가 발생하지 않도록 아래 사항을 반드시 참고하여 예외 처리를 반영해 주세요. 

구분 제약 사항 및 안내
빈 값 (Empty) 처리 입력된 데이터가 없는 항목은 values 배열(리스트) 자체가 아예 반환되지 않습니다.
👉 값을 찾을 수 없을 때(Null / Undefined)의 예외 처리가 반드시 필요합니다.
조회 미지원 컴포넌트 멀티 텍스트, 첨부파일, 테이블(표) 및 테이블 내부에 속한 컴포넌트의 값은 OpenAPI를 통해 노출되지 않습니다.
사용자 선택 컴포넌트 사용자의 '사번' 값은 미노출되며, '이름'과 '로그인 아이디'만 노출됩니다.
부서 선택 컴포넌트 부서의 '부서 코드'는 미노출되며, '부서명'만 노출됩니다.

 

 

추가 도움이 필요하신가요?

이용/기능 문의는 스피키를 이용해 보세요.

기술지원은 상단 [문의등록]를 통해 제공해드립니다.