문서를 반환하는 API입니다.
API 만들기
<도구 | API> 메뉴에서 “DOC” 유형 API를 만듭니다.
API 상세 화면에서 설정한 문서만을 대상으로 합니다. 한 API에 여러 문서를 추가할 수 있습니다.
API 요청
GET 형식으로 요청해야 합니다.
요청 URL 형식입니다.
/r/api/${uuid}?action=DOC_GET&docId=${docId}URL 파라미터 항목입니다.
이름 | 유형 | 설명 | 필수 여부 | 예 |
|---|---|---|---|---|
uuid | UUID | API UUID | 예 | 5b969d63e97cfec7 |
action | 문자열 | 작업 유형 | 예 | DOC_GET |
docId | UUID | 문서 아이디 | 예 | 5475d018495fc4fa |
요청 URL 예제입니다.
/r/api/5b969d63e97cfec7?action=DOC_GET&docId=5475d018495fc4fa
API 응답
DOC_GET 응답
JSON 형식의 응답은 다음과 같습니다.
이름 | 유형 | 설명 | 필수 여부 | 예 |
|---|---|---|---|---|
status | 문자열 | 상태 | 예 | success | fail |
errors | Error 객체 배열 | 예외 | 아니오 | |
document | 문서 데이터 | 예 |
Document 객체
Document 객체는 다음과 같습니다.
이름 | 유형 | 설명 | 필수 여부 | 예 |
|---|---|---|---|---|
id | UUID | 문서 아이디 | 예 | 5b969d63e97cfec7 |
type | 문자열 | 문서 유형 | 예 | BOOK |
title | 문자열 | 문서 제목 | 예 | 매뉴얼웍스 사용자 가이드 |
published | boolean | 공개 여부 | 예 | true |
url | 문자열 | 웹 뷰어 URL | 예 | |
accessControl | 접근 권한 | 예 | ||
chapters | Chapter 객체 배열 | 장 목록 | 아니오 |
태그로 공개했다면 태그 한 이후에 만든 장은 chapters 배열에 포함되지 않습니다.
AccessControl 객체
AccessControl 객체는 다음과 같습니다.
이름 | 유형 | 설명 | 필수 여부 | 예 |
|---|---|---|---|---|
owners | Accessor 객체 배열 | 소유자 목록 | 아니오 | |
collaborators | Accessor 객체 배열 | 협업자 목록 | 아니오 | |
reviewers | Accessor 객체 배열 | 독자 목록 | 아니오 |
Accessor 객체
이름 | 유형 | 설명 | 필수 여부 | 예 |
|---|---|---|---|---|
type | 문자열 | 유형 | 예 | user | group | keyword |
id | 문자열 | 사용자 아이디 또는 그룹 아이디 또는 접근 권한 키워드 | 예 |
Chapter 객체
Chapter 객체는 다음과 같습니다.
이름 | 유형 | 설명 | 필수 여부 | 예 |
|---|---|---|---|---|
id | UUID | 장 아이디 | 예 | |
title | 문자열 | 장 제목 | 예 | |
type | 문자열 | 장 유형 | 예 | |
url | 문자열 | 웹 뷰어 URL | 예 |
예외 항목
예외 항목은 다음과 같습니다.
예외 | 설명 |
|---|---|
API_HAS_NOT_DOC | API에 해당 문서를 포함시키지 않았을 때 |
REQUIRED_PARAMETER_MISSING | API 요청에 필수 항목이 없을 때 |
DOC_NOT_EXIST | 문서가 존재하지 않을 때 |
예제
예제입니다.
{
"status": "success",
"document": {
"id": "",
"type": "BOOK",
"title": "매뉴얼웍스 설치 가이드",
"url": "https://www.3rabbitz.com/book_user_guide",
"published": true,
"accessControl" : {
"owners": [
{
"type": "user",
"id": "user01"
}
],
"collaborators": [
{
"type": "keyword",
"id": "PROJECT_MEMBERS"
},
{
"type": "group",
"id": "group01"
}
],
"reviewers": [
{
"type: "keyword",
"id": "ALL_USERS"
}
]
},
"chapters": [
{
"id": "c79ef3ec88a851f5",
"title": "문서 구성하기",
"type": "CHAPTER",
"url": "https://www.3rabbitz.com/book_user_guide#c79ef3ec88a851f5"
},
{
"id": "4f6eea4732f86739",
"title": "텍스트 단락",
"type": "CHAPTER",
"url": "https://www.3rabbitz.com/book_user_guide#editor_text"
}
]
}
}부가 있을 때의 예제입니다.
{
"status": "success",
"document": {
"id": "",
"type": "BOOK",
"title": "매뉴얼웍스 설치 가이드",
"url": "https://www.3rabbitz.com/book_user_guide",
"published": true,
"accessControl" : {
"owners": [
{
"type": "user",
"id": "user01"
}
],
"collaborators": [
{
"type": "keyword",
"id": "PROJECT_MEMBERS"
},
{
"type": "group",
"id": "group01"
}
],
"reviewers": [
{
"type": "keyword",
"id": "ALL_USERS"
}
]
},
"chapters": [
{
"id": "c79ef3ec88a851f5",
"title": "에디터",
"type": "PART",
"url": "https://www.3rabbitz.com/book_user_guide#c79ef3ec88a851f5",
"chapters": [
{
"id": "4f6eea4732f86739",
"title": "텍스트 단락",
"type": "CHAPTER",
"url": "https://www.3rabbitz.com/book_user_guide#editor_text"
},
{
"id": "4f6eea4732f86739",
"title": "그림 단락",
"type": "CHAPTER",
"url": "https://www.3rabbitz.com/book_user_guide#editor_image"
},
]
}
]
}
}