사용자가 접근할 수 있는 문서 목록 가져오기

사용자가 접근할 수 있는 문서 목록을 반환하는 API입니다.

API 만들기

<도구 | API> 메뉴에서 “DOC” 유형 API를 만듭니다.

API 만들기

다양한 쓰리래빗츠 북 API를 만드는 방법을 설명합니다.

API 상세 화면에서 설정한 문서만을 대상으로 합니다. 한 API에 여러 문서를 추가할 수 있습니다. 대상으로 "공개한 문서"를 선택하면 호출 시점에 공개되어 있는 문서만 대상으로 하고, 공개하지 않은 문서에는 API_HAS_NOT_DOC 예외를 반환합니다.

API 요청

GET 형식으로 요청해야 합니다.

요청 URL 형식입니다.

/r/api/${uuid}?action=DOC_LIST_BY_USER&userId=${userId}

URL 파라미터 항목입니다.

URL 파라미터

이름

유형

설명

필수 여부

예

uuid

UUID

API UUID

예

5b969d63e97cfec7

action

문자열

작업 유형

예

DOC_LIST_BY_USER

userId

문자열

사용자 아이디

예

user01

title

문자열

문서 제목 검색 조건

아니오


subtitle

문자열

문서 부제목 검색 조건

아니오


published

boolean

공개 여부 검색 조건. 값이 존재하지 않을 때는 모든 문서를 반환합니다. 링크가 있는 공개 정보를 기준으로 거릅니다. 응답의 published 필드는 링크와 상관없이 공개 중인 공개 정보가 있는지로 정하므로 두 값이 다를 수 있습니다.

아니오

true | false

hasLink

boolean

링크 존재 여부 검색 조건. 값이 존재하지 않을 때는 모든 문서를 반환합니다.

아니오

true | false

groupByProject

boolean

문서를 프로젝트로 묶기

아니오

true | false

요청 URL 예제입니다.

/r/api/5b969d63e97cfec7?action=DOC_LIST_BY_USER&userId=user01

API 응답

DOC_LIST_BY_USER 응답

JSON 형식의 응답은 다음과 같습니다.

DOC_LIST_BY_USER 응답

이름

유형

설명

필수 여부

예

status

문자열

상태

예

success | fail

errors

Error 객체 배열

예외

아니오


documents

Document 객체 또는 Project 객체 배열

문서 데이터 목록. 문서 제목으로 정렬합니다.

groupByProject가 true일 때는 문서 뿐만 아니라 프로젝트도 있을 수 있습니다.

예


문서가 없을 때는 documents로 빈 배열을 반환합니다.

groupByProject가 true일 때는 children 속성이 있거나 type 속성이 문서 유형이 아닌 PROJECT, DIRECTORY 등의 프로젝트 유형이면 프로젝트입니다.

Document 객체

Document 객체

이름

유형

설명

필수 여부

예

id

UUID

UUID

예

5b969d63e97cfec7

type

문자열

문서 유형

예

BOOK

typeLabel

문자열

문서 유형 이름. 호출자의 언어로 표시합니다.

예

책

title

문자열

문서 제목

예

매뉴얼웍스 사용자 가이드

sourceBookId

UUID

원본 문서 아이디. 브랜치 문서일 때만 있습니다.

아니오


createTime

숫자

만든 시각(밀리초)

예

1694753125000

updateTime

숫자

바꾼 시각(밀리초)

예

1694753125000

published

boolean

공개 여부

예

true

url

문자열

웹 뷰어 URL

예


accessControl

AccessControl 객체

접근 권한

예


Project 객체

Project 객체

이름

유형

설명

필수 여부

예

id

UUID

UUID

예

5b969d63e97cfec7

type

문자열

프로젝트 유형. 보통 PROJECT이지만 디렉터리는 DIRECTORY 등 다른 값일 수 있습니다.

예

PROJECT

name

문자열

프로젝트 이름

예

매뉴얼웍스 5.0

color

문자열

프로젝트 테마 색상. 설정하지 않았으면 없습니다.

아니오


children

Document 객체 또는 Project 객체 배열

문서 데이터 목록. 문서 제목으로 정렬합니다.

groupByProject가 true일 때는 문서 뿐만 아니라 프로젝트도 있을 수 있습니다.

아니오


예외 항목

예외 항목은 다음과 같습니다.

DOC_LIST_BY_USER 예외 항목

예외

설명

REQUIRED_PARAMETER_MISSING

API 요청에 필수 항목이 없을 때

USER_NOT_EXIST

사용자가 존재하지 않을 때

예제

예제입니다.

{
    "status": "success",
    "documents": [
		{
			"id": "b9c0451a065c571a",
	    	"type": "BOOK",
	    	"title": "매뉴얼웍스 사용자 가이드",
		    "published": true,
            "url": "https://www.3rabbitz.com/r/document/view/b9c0451a065c571a",
    		"accessControl" : {
            	"owners": [
					{
						"type": "user",
						"id": "user01"
					}
				],
				"collaborators": [
					{
						"type": "keyword",
						"id": "PROJECT_MEMBERS"
					}, 
					{
						"type": "group",
						"id": "group01"
					}
				],
				"reviewers": [
					{
						"type": "keyword",
						"id": "ALL_USERS"
					}
				]
            }
    	},
		{
			"id": "755a23e015006f95",
	    	"type": "BOOK",
	    	"title": "매뉴얼웍스 설치 가이드",
		    "published": false,
			"url": "https://www.3rabbitz.com/r/document/view/755a23e015006f95",
    		"accessControl" : {
            	"owners": [
					{
						"type": "user",
						"id": "user01"
					},
					{
						"type": "keyword",
						"id": "PROJECT_MEMBERS"
					}
				],
				"collaborators": [
					{
						"type": "group",
						"id": "group01"
					}, 
					{
						"type": "group",
						"id": "group02"
					}
				]
            }
		}
	]
}