웹사이트에 튜터링 학교의 강사 및 과정, 디자인 에이전시의 포트폴리오 사례 연구, 체인 브랜드의 매장 위치, FAQ 등 동일한 형식을 가진 구조화된 콘텐츠가 다수 포함되어 있는 경우, 이를 개별 페이지의 텍스트 상자에 일일이 입력하면 유지 관리가 매우 어려워집니다.
컬렉션은 웹사이트 내에 내장된 스프레드시트 및 경량 데이터베이스처럼 작동합니다. 먼저 데이터 필드(이름, 아바타, 전문 분야, 경력 연수 등)를 정의한 다음 항목을 하나씩 채우면 됩니다. 관리 및 검색은 다음과 같은 두 가지 명확한 경로로 나뉩니다.
https://{your-site}/api/v1/collections/{key}/items)에 자동으로 노출되므로, 사용자 지정 프론트엔드, 앱 또는 외부 페이지에서 글로벌 에지 캐싱을 통해 키 없이 데이터를 가져올 수 있습니다(기술 사양은 콘텐츠 전달 API 참조).컬렉션의 필드 구조(어떤 필드가 존재하는지, 유형, 필수 여부)는 MCP를 통해 AI에 의해서만 생성 및 수정됩니다. 대시보드에는 스키마를 변경하기 위한 수동 폼 빌더 UI가 없습니다. "저장하고 싶은 데이터"를 AI에게 평이한 언어로 설명하는 것이 필드 유형을 하나씩 설정하는 것보다 훨씬 빠르며, AI가 자동으로 올바른 유형을 선택하고 형식 유효성 검사를 추가하기 때문입니다.
AI 어시스턴트(MCP) 연결을 따라 ChatGPT, Claude, Cursor 또는 Claude Code를 Kanorio에 연결합니다.
다음 프롬프트 중 하나를 복사하여 채팅에 붙여넣습니다(비즈니스 요구에 맞게 조정).
예시 1: 강사 컬렉션 생성
내 웹사이트를 위한 "instructors"(키: teachers) 컬렉션을 만드세요. 필드는 다음과 같습니다: 이름, 직함, 과목(단일 선택: 수학 / 영어 / 물리학), 경력 연수(정수), 약력(긴 텍스트), 연락처 이메일, 신규 학생 수락 여부(불리언). 3명의 강사에 대한 샘플 데이터를 채우고 게시하세요.
예시 2: 과정 컬렉션 생성 및 강사 연결
내 웹사이트를 위한 "courses"(키: courses) 컬렉션을 만드세요. 필드는 다음과 같습니다: 과정명, 강사(teachers 컬렉션 참조), 레벨(단일 선택: 초급 / 중급 / 고급), 수업료(숫자), 시작일(날짜), 태그(다중 선택: 온라인 / 주말 / 소그룹), 등록 링크(URL). 3개의 과정을 채우고 이전에 생성된 강사와 연결하세요.
"데이터 및 콘텐츠 › 테이블" 작업 공간으로 돌아가 새로 생성된 컬렉션과 레코드를 확인합니다. 사이트에 아직 컬렉션이 없는 경우, 개요 화면 중앙에 복사 가능한 3개의 프롬프트("강사", "포트폴리오", "매장")가 표시됩니다.
"데이터 및 콘텐츠 › 테이블"을 클릭합니다. 인터페이스는 세 개의 섹션으로 나뉜 전문적인 데이터베이스 작업 공간 레이아웃을 채택하고 있습니다.
컬렉션을 선택하여 상단 도구 모음의 세 탭을 전환합니다. 필터, 정렬, 페이지 매기기 및 열린 레코드는 모두 URL에 유지됩니다. URL을 복사하여 팀원과 정확한 뷰를 공유할 수 있습니다.
text, number, ref → teachers)이 표시됩니다. 첫 번째 열은 제목 필드로 고정되어 가로 스크롤 중에도 잠겨 있습니다. 맨 오른쪽의 회색 블록에는 시스템 필드(status, slug, published_at, updated_at, id)가 포함되어 있습니다.NULL, 빈 문자열은 EMPTY로 표시됩니다.Enter를 눌러 오른쪽 레코드 패널을 열고, ⌘C(Windows의 경우 Ctrl+C)를 눌러 셀 내용을 복사합니다.id), 유형, 필수 상태, 고유성, 제약 조건 및 AI 지침 힌트(aiHint)를 나열합니다.fetch 및 curl 코드 스니펫을 제공합니다.테이블의 맨 왼쪽 행 번호 위로 마우스를 가져가 확장 화살표를 클릭하거나(또는 행을 더블 클릭) 전체 레코드 패널을 오른쪽에 도킹합니다.
id, slug, 게시 시간 및 생성/업데이트 타임스탬프가 나열되며, 마우스를 올리면 개별적으로 복사할 수 있습니다.각 레코드는 초안(작업 공간에서 볼 수 있음)과 게시됨(공개 API에서 제공)의 두 가지 버전을 유지하며 상태 점으로 표시됩니다.
Enter로 확인, Esc로 취소). 이미지, 갤러리, 파일, 긴 텍스트, 다중 선택 및 참조와 같은 복합 필드는 오른쪽 레코드 패널에서 편집합니다.⌘S)": 변경 사항을 기록하고 공개 API를 즉시 업데이트하며 에지 캐시를 지웁니다.기본 AI 쓰기 동작: AI가 MCP 또는 REST API를 통해 데이터를 생성하거나 수정할 때 기본적으로
publish: true가 설정됩니다(즉시 게시). 검토를 위해 초안으로 저장하려면 프롬프트에 "초안으로 저장"이라고 말하면 됩니다.
컬렉션에서 지원하는 모든 필드 유형은 아래와 같습니다. AI 생성 구조와 JSON/CSV 가져오기 모두 이 표를 준수해야 합니다:
| 카테고리 | 필드 유형 | 기술 코드 (type) | 저장 및 API 형식 | 설정 가능한 제약 조건 |
|---|---|---|---|---|
| 텍스트 | 한 줄 / 일반 텍스트 | text | 문자열 (앞뒤 공백은 자동으로 제거됨) | min, max (기본값 5,000; 최대 20,000), pattern (정규식), unique, default |
| 텍스트 | 긴 텍스트 (리치 텍스트) | rich_text | Markdown 문자열 (포함된 HTML 태그는 자동으로 제거됨) | max (최대 50,000자) |
| 연락처 및 링크 | 이메일 | email | 소문자 이메일 문자열 (최대 254자) | unique, default |
| 연락처 및 링크 | 전화번호 | phone | E.164 국제 표준으로 자동 변환 (예: +886912345678) | defaultCountry (사이트 위치가 기본값) |
| 연락처 및 링크 | URL | url | http:// 또는 https:// URL (최대 2,048자) | unique, default |
| 연락처 및 링크 | 동영상 URL | video_url | YouTube 또는 Vimeo URL | - |
| 숫자 및 논리 | 숫자 | number | 숫자 값 (정수 또는 소수) | integer (정수만), min, max, unique, default |
| 숫자 및 논리 | 불리언 | boolean | true 또는 false | default |
| 날짜 및 시간 | 날짜 | date | YYYY-MM-DD 달력 날짜 (예: "2026-11-02", 실제 달력 날짜인지 확인) | min, max, default |
| 날짜 및 시간 | 날짜 및 시간 | datetime | ISO 8601 UTC 문자열 (예: "2026-10-30T15:59:00.000Z") | min, max, default |
| 옵션 및 외관 | 단일 선택 | select | 옵션 영어 id 문자열 | options: [{ id, label, color? }] (최대 100개 옵션), default |
| 옵션 및 외관 | 다중 선택 | multi_select | 옵션 id 문자열 배열 (자동으로 중복 제거됨) | options, min, max (최대 50개), default |
| 옵션 및 외관 | 색상 | color | 소문자 16진수 색상 코드 (예: "#2563eb") | default |
| 미디어 및 파일 | 이미지 | image | 사이트 미디어 라이브러리의 파일 assetId | 미디어 라이브러리 참조 추적 및 저장소 보호에 자동으로 포함됨 |
| 미디어 및 파일 | 갤러리 (다중 이미지) | gallery | 미디어 라이브러리 assetId 배열 | min, max (최대 50개 이미지) |
| 미디어 및 파일 | 파일 | file | 미디어 라이브러리의 파일 assetId (PDF, 오디오, 문서 등) | 미디어 라이브러리 참조 추적에 자동으로 포함됨 |
| 관계 및 고급 | 참조 (단일) | reference | 대상 컬렉션 항목 id (작성 시 대상 존재 여부 확인) | targetCollectionKey (대상 컬렉션의 키) |
| 관계 및 고급 | 다중 참조 | multi_reference | 대상 항목 id 배열 (중복 제거 및 유효성 검사 완료) | targetCollectionKey, min, max (최대 50개 항목) |
| 관계 및 고급 | JSON 구조 | json | 모든 유효한 JSON 값 (객체, 배열 등) | 최대 10단계 깊이, 열당 64KB 제한 (필터링 또는 정렬 불가) |
제목 필드(
titleFieldId): 모든 컬렉션은text,url필드를 제목 필드로 지정합니다. 이는 테이블의 첫 번째 열에 나타나며, 다른 컬렉션에서 참조될 때 표시 이름으로 사용되고, 제공되지 않으면 URL 슬러그를 자동으로 생성합니다.
웹사이트에서 블로그를 사용하는 경우, 왼쪽 사이드바의 "시스템" 그룹 아래에 4개의 잠긴 시스템 컬렉션이 자동으로 나타납니다:
blog (블로그 게시물)blog_categories (블로그 카테고리)blog_tags (블로그 태그)blog_authors (블로그 작성자)운영 규칙:
items.* 읽기 전용: 게시물 편집기, SEO 및 버전 기록 전반의 일관성을 보장하기 위해 시스템 컬렉션은 컬렉션 작업 공간(및 에이전트 items.* 도구)에서 읽기 전용입니다. 게시물을 수정하려면 블로그 페이지를 사용하세요(또는 posts_* 도구를 사용하여 AI에게 요청).collections.update를 사용하여 blog에 사용자 지정 필드를 추가하도록 AI에게 요청할 수 있습니다(내장된 예약 필드는 삭제하거나 수정할 수 없음). 외부 프론트엔드는 정확히 동일한 엔드포인트를 사용하여 게시된 게시물을 쿼리할 수 있습니다: /api/v1/collections/blog/items?expand=authors,categories,tags.작업 공간 도구 모음 오른쪽 상단의 "더 보기(⋯)" 버튼을 클릭하여 "CSV 내보내기", "JSON 내보내기" 또는 "가져오기"를 선택합니다:
id, slug, status, publishedAt)이 포함됩니다. CSV의 다중 선택, 다중 참조 및 JSON 필드는 JSON 문자열로 표시됩니다.id가 포함된 행은 업데이트되고, id가 없는 행은 삽입됩니다. "가져오기 후 즉시 게시"를 선택하면 가져오기 시 레코드가 실시간으로 게시됩니다.사용자나 엔지니어(또는 Cursor / Claude Code)가 사용자 지정 프론트엔드 웹사이트(예: Next.js, Astro, Vue, React Native)를 구축하여 컬렉션 데이터를 읽을 때:
fetch 및 curl 스니펫을 즉시 복사합니다.https://app.example.com 또는 https://preview.vercel.app)에서 실행되고 브라우저에서 직접 API를 호출하는 경우, 대시보드의 "웹사이트 설정 › 개발자"로 이동하여 "허용된 오리진" 아래에 URL을 입력합니다(경로 또는 와일드카드 없이 https://로 시작하는 도메인으로 제한, 사이트당 최대 20개).http://localhost / 127.0.0.1)은 등록이 필요 없으며 직접 읽을 수 있습니다.filter[field][op]=value, sort=-field, fields=field1,field2, expand=reference_field, 커서 페이지 매기기 및 ?preview=1 초안 미리보기를 지원합니다. 전체 사양은 콘텐츠 전달 API를 참조하십시오.컬렉션은 "사이트 전체에서 결합된 모든 사용자 지정 컬렉션의 총 레코드 수(초안 포함)"만 계산합니다. 컬렉션 수, 필드 수 및 API 읽기 요청은 완전히 무료입니다:
| 항목 | 무료 플랜 | 프로 플랜 | 비즈니스 플랜 |
|---|---|---|---|
| 총 컬렉션 항목 (초안 포함; 블로그 시스템 컬렉션 제외) | 50개 항목 | 1,000개 항목 | 10,000개 항목 |
| 월간 추가 기능 | 사용 불가 | 1,000개 항목당 월 US$1.50 (구독 통화로 청구) | 1,000개 항목당 월 US$1.50 (구독 통화로 청구) |
| 최대 총 항목 제한 | 50개 항목 | 20,000개 항목 (최대 19개 추가 계층) | 200,000개 항목 (최대 190개 추가 계층) |
| 컬렉션 및 필드 기술 제한 | 사이트당 최대 100개 컬렉션, 컬렉션당 최대 50개 필드 | 왼쪽과 동일 | 왼쪽과 동일 |
| 콘텐츠 전송 API | 무료, 대역폭 비용 없음 | 무료, 대역폭 비용 없음 | 무료, 대역폭 비용 없음 |
컬렉션은 "자주 읽고 드물게 쓰이며, 사이트 소유자나 팀이 관리하는" 구조화된 콘텐츠를 위한 "헤드리스 CMS"로 설계되었습니다. 다음 사용 사례의 경우 전용 기능이나 외부 서비스를 대신 사용하십시오:
아니요, 컬렉션 스키마는 MCP(또는 REST API)를 통해 AI에 의해서만 관리됩니다. 컬렉션의 "구조" 탭으로 전환하고 오른쪽 상단의 "AI로 구조 수정"을 클릭하여 프롬프트를 복사한 다음, ChatGPT, Claude 또는 Cursor에 붙여넣고 추가할 필드를 알려주세요. 필드 추가, 표시 이름 변경, 옵션 추가 및 제약 조건 완화는 즉시 적용됩니다. 사용자 지정 필드를 삭제하면 해당 필드의 이전 데이터는 무시됩니다. 호환되지 않는 유형으로 필드를 변경하면(예: 텍스트를 숫자로 변경), AI가 자동으로 새 필드 추가, 데이터 마이그레이션 및 이전 필드 제거를 처리합니다.
이는 다른 컬렉션에 reference 또는 multi_reference 필드를 통해 이 레코드를 가리키는 레코드가 포함되어 있음을 의미합니다(예: 이 강사를 가리키는 과정). 프론트엔드에서 링크가 끊기는 것을 방지하기 위해 시스템은 기본적으로 삭제를 차단합니다. 삭제하기 전에 해당 과정을 다른 강사에게 다시 할당하십시오(API를 통해 force=true로 삭제하는 경우 강제 삭제가 허용되며, 읽기 엔드포인트는 데드 참조를 자동으로 무시합니다).
사이트 소유자, 관리자, 멤버 및 뷰어는 "데이터 및 콘텐츠 › 테이블"에 액세스하여 스키마, 데이터를 탐색하고 CSV/JSON을 내보낼 수 있습니다(스토어 직원 역할은 이 섹션을 볼 수 없음). 데이터 추가, 수정, 게시, 삭제 및 가져오기에는 "컬렉션 관리" 권한이 필요합니다(소유자, 관리자, 멤버에게 기본적으로 부여됨). "허용된 오리진(CORS)"을 관리하려면 "웹사이트 기본 설정 관리" 권한이 필요하며, 레코드 할당량을 추가하려면 "구독 플랜 관리" 권한이 필요합니다.
네. "웹사이트 설정 › 웹사이트 관리"에서 웹사이트 백업을 생성하면 ZIP 아카이브에 collections/schema.json(모든 컬렉션의 필드 정의)과 collections/{key}.json(각 컬렉션의 전체 초안 및 게시된 데이터)이 자동으로 포함됩니다. 컬렉션 내에서 참조되는 미디어 라이브러리 이미지와 파일도 함께 번들로 제공됩니다.
네. 작업 공간에서 저장하든, CSV를 가져오든, AI 어시스턴트 및 REST API를 통해 컬렉션을 생성, 쓰기 또는 게시하든 모든 작업은 활동 로그에 운영자와 사용된 도구에 대한 명확한 표시와 함께 완전히 기록됩니다.