개요
다우오피스 OpenAPI 서비스의 연동을 위한 <인증키 발급 API> 입니다. API를 통해서 발급되는 인증키 값(clientID, clientSecret)은 고객사 별로 1개만 발급되며 인증키는 타 고객사에 양도할 수 없습니다.
발급을 위한 정보는 다우오피스 접속URL, 관리자ID/PW이며 해당 정보는 고객사에서 관리하는 값입니다. 발급키는 삭제/재발급 전까지 고정적으로 유지되는 값입니다. 발급 API를 재호출할 경우 기존에 생성된 인증키 값을 리턴합니다.
다우오피스 서비스 정책상 DOAS(DaouOffice API System)에서 정기적으로 ClientSecret 값을 변경합니다. 때문에 clientID, clientSecret 값을 저장해서 사용하기보단 해당 값을 불러와 변수 처리하여 API 호출에 사용하기를 권장합니다. 또한 연동하는 시스템에서 해당 clientSecret 값을 같이 변경하지 않으면 오류가 발생될 수 있으므로 연동된 clientId, clientSecret 값을 저장하여 연동하는 것을 권장합니다
Request URL
https://api.daouoffice.com/public/v2/alliance/company
※ 다우오피스 OpenAPI 서비스는 DOAS 서버로 API 호출을 진행하기 때문에 별도 고객사 그룹웨어 URL이 아닌 “https://api.daouoffice.com”을 사용합니다.
HTTP Method
POST (Content-Type: application/json; charset=UTF-8)
Request Parameters
| 변수 (Parameter) |
타입 (Type) |
필수여부 | 사전발급 | 설명 (Description) |
|---|---|---|---|---|
| siteUrl | String | Y | Y | 다우오피스 접속 URL / 고객사 DO URL (ex. daoutech.daouoffice.com) |
| adminId | String | Y | Y | 다우오피스 관리자 계정 / SiteAdmin ID / 이메일 주소 형식 (ex. admin@daouoffice.com) |
| adminPw | String | Y | Y | 다우오피스 관리자 비밀번호 / 고객사 SiteAdmin PW |
| apiType | String | Y | N | 다우오피스와 연동할 API 종류 (하단 apiType 표 참고) |
| partnerCode | String | Y | Y | 제휴 파트너 구분코드(하단 Partner Code 표 참고) |
| productName | String | N | N | 업무시스템 제품명 (제휴시스템 사용할 경우 입력) |
| productVersion | String | N | N | 업무시스템 제품버전 (제휴시스템 사용할 경우 입력) |
| clientCompanyName | String | N | N | 업무시스템 고객사 식별정보 (제휴시스템 사용할 경우 입력) |
※ productName, productVersion, clientCompanyName은 외부업무시스템의 정보를 전달받아 문제 발생 시 다우기술에서 로그 확인을 위해 필요한 사항입니다. 필수 입력값은 아니므로 초기 개발 시 비워두고 정식 사용 시 값을 입력하는 것을 권장합니다.
- apiType (복수 지정 불가능)
| 연동타입 (apiType) | 설명 (Description) |
|---|---|
| APPR | 전자결재 연동 |
| ATTND | 근태 연동 |
| ACCOUNT | 계정 정보 연동 |
| DEPT | 조직도 정보 연동 |
- partnerCode
| partnerCode | 시스템명(제휴업체) |
|---|---|
| OPENAPI_D | OpenAPI / 공개형 API용 코드 |
| BIZPLAY | 비즈플레이 / 지출결의(Bizplay) |
| KSYSTEM | 영림원소프트랩 / SystemEver |
| ADTCAPS | ADT캡스 / 출입통제시스템 |
| TELECOP | KT텔레캅 / 출입통제시스템 |
| SECOM | 에스원 세콤 / 출입통제시스템 |
Request Example
POST /public/v2/alliance/company HTTP/1.1
api.daouoffice.com
Content-Type: application/json
{
"siteUrl" : "partner.daouoffice.com",
"adminId" : "admin@partner.daouoffice.com",
"adminPw" : "password1234#",
"partnerCode" : "OPENAPI_D",
"apiType" : "ATTND",
"productName" : "제휴서비스/제품 명",
"productVersion" : "제휴서비스/제품 버전",
"clientCompanyName" : "제휴서비스/제품 식별코드"
}
Response Parameters
| 변수 (Parameter) |
타입 (Type) |
필수 여부 |
사전 발급 |
설명 (Description) |
|---|---|---|---|---|
| code | String | Y | N | API 호출결과 코드 |
| message | String | Y | N | API 호출결과 메시지 |
| messageDetail | String | N | N | API 호출결과 메시지 상세내용 (실패한 경우만 리턴함) |
| data | Object | Y | N | API 호출결과 상세내용 JSON Object 배열 |
- data
| 변수 (Parameter) |
타입(Type) | 필수 여부 |
사전 발급 |
설명 (Description) |
|---|---|---|---|---|
| clientId | String | Y | Y | 고객사 식별/인증을 위한 서비스 인증ID ( Client_ID ) |
| clientSecret | String | Y | N | 고객사 식별/인증을 위한 서비스 보안KEY ( Secret_Key ) |
Response Example
Content-Type: application/json;charset=UTF-8
{
"code": "200",
"message": "OK",
"data":{
"clientId": "f255cbe0b4e1wgasf",
"clientSecret": "bafdd7bf1e12esdc417b8a6b0e4fff6"
}
}
Return Code
| 구분 | 코드 (Code) |
내용 (Message) |
설명 (Description) |
|---|---|---|---|
|
성공 (Success) |
200 | 성공 | OK |
| 실패 (Error) |
910 | 유효하지 않은 파라미터 | 도메인을 포함한 이메일 형식이여야 합니다. |
| 911 | 계정 형식 오류 | 도메인을 포함한 이메일 형식이여야 합니다. | |
| 912 | 유효하지 않은 파트너코드 | 유효하지 않은 파트너코드입니다. | |
| 951 | 존재하지 않는 계정 | 'XXXX'는 존재하지 않는 계정입니다. | |
| 952 | 패스워드 누락 | 패스워드(adminPw)가 누락되었습니다. | |
| 953 | 패스워드 불일치 | 계정 'XXXX'의 패스워드가 일치하지 않습니다. | |
| 954 | 계정 권한 오류 | 계정 'XXXX'는 관리자 권한이 없는 계정입니다. | |
| 955 | 도메인 코드 오류 | 'XXXX'는 존재하지 않는 도메인 코드입니다. | |
| 957 | apiType 누락 | apiType은 필수값입니다. |
제공 서비스 유형
| 구분 | 제공 여부 |
|---|---|
| 다우오피스 단독형 | 제공 |
| 다우오피스 설치형 | 제공 |
| 다우오피스 구축형 | 제공 |
| 다우오피스 공유형 | 미제공 |