Webサイトに、講師とコース、デザイン事務所のポートフォリオ、チェーン店の店舗情報、FAQなど、同じ形式の構造化されたコンテンツが多数ある場合、それらを個別のページ内のテキストボックスに詰め込むと、管理が非常に困難になります。
コレクションは、Webサイト内に組み込まれたスプレッドシートや軽量なデータベースのように機能します。まず、データ用のフィールド(名前、アバター、専門分野、経験年数など)を定義し、次にアイテムを一つずつ入力します。管理と取得は、以下の2つの明確なトラックに分かれています。
https://{your-site}/api/v1/collections/{key}/items)で自動的に公開されます。カスタムフロントエンド、アプリ、外部ページから、グローバルエッジキャッシュを利用してキーなしでデータを取得できます(技術仕様はを参照)。コレクションのフィールド構造(どのフィールドが存在するか、その型、必須かどうか)は、MCPを通じてAIによってのみ作成および変更されます。ダッシュボードには、スキーマを変更するための手動フォームビルダーUIはありません。これは、「何を保存したいか」をAIに平易な言葉で伝える方が、フィールドタイプを一つずつ設定するよりもはるかに速く、AIが自動的に正しい型を選択し、形式の検証を追加するためです。
の手順に従い、ChatGPT、Claude、Cursor、またはClaude CodeをKanorioに接続します。
以下のプロンプトのいずれかをコピーしてチャットに貼り付けます(ビジネスニーズに合わせて調整してください)。
例1:講師コレクションを作成する
私のWebサイト用に「instructors」(キー:teachers)コレクションを作成してください。フィールドは以下の通りです:名前、肩書き、科目(単一選択:数学 / 英語 / 物理)、経験年数(整数)、経歴(長文テキスト)、連絡先メールアドレス、新規生徒の受け入れ(ブール値)。3人の講師のサンプルデータを作成し、公開してください。
例2:コースコレクションを作成し、講師とリンクさせる
私のWebサイト用に「courses」(キー:courses)コレクションを作成してください。フィールドは以下の通りです:コース名、講師(teachersコレクションへの参照)、レベル(単一選択:初級 / 中級 / 上級)、授業料(数値)、開始日(日付)、タグ(複数選択:オンライン / 週末 / 少人数)、登録リンク(URL)。3つのコースを作成し、先ほど作成した講師とリンクさせてください。
"データ&コンテンツ › テーブル"ワークスペースに戻り、新しく作成されたコレクションとレコードを確認します。サイトにまだコレクションがない場合、概要画面の中央にコピー可能な3つのプロンプト(「講師」、「ポートフォリオ」、「店舗」)が表示されます。
"データ&コンテンツ › テーブル"をクリックします。インターフェースは、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で提供)の2つのバージョンを保持しており、ステータスドットで示されます。
Enterで確定、Escでキャンセル)。画像、ギャラリー、ファイル、長文テキスト、複数選択、参照などの複合フィールドは、右側のレコードパネルで編集します。⌘S)」: 変更を書き込み、パブリックAPIを即座に更新し、エッジキャッシュをクリアします。AI書き込みのデフォルト動作: AIがMCPまたはREST APIを通じてデータを作成または変更する場合、デフォルトで
publish: trueが設定されます(即座に公開されます)。レビュー用にドラフトとして保存させたい場合は、プロンプトで「ドラフトとして保存」と指示してください。
コレクションでサポートされているすべてのフィールドタイプを以下に示します。AI生成の構造と、JSON/CSVインポートの両方がこの表に従う必要があります:
| カテゴリ | フィールドタイプ | 技術コード (type) | 保存およびAPI形式 | 設定可能な制約 |
|---|---|---|---|---|
| テキスト | 1行 / 一般テキスト | text | 文字列(先頭・末尾の空白は自動的に削除) | min, max(デフォルト5,000、最大20,000)、pattern(正規表現)、unique、default |
| テキスト | 長文テキスト(リッチテキスト) | rich_text | Markdown文字列(埋め込まれたHTMLタグは自動的に削除) | max(最大50,000文字) |
| 連絡先・リンク | メールアドレス | email | 小文字のメールアドレス文字列(最大254文字) | unique, default |
タイトルフィールド(
titleFieldId): すべてのコレクションは、text、urlフィールドをタイトルフィールドとして指定します。これはテーブルの最初の列に表示され、他のコレクションから参照される際の表示名として機能し、提供されない場合は自動的にURLスラッグを生成します。
Webサイトでを使用している場合、左サイドバーの「システム」グループの下に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)がカスタムフロントエンドWebサイト(Next.js、Astro、Vue、React Nativeなど)を構築してコレクションデータを読み取る場合:
fetchおよびcurlスニペットを即座にコピーします。https://app.example.comやhttps://preview.vercel.app)で実行され、ブラウザから直接APIを呼び出す場合は、ダッシュボードの"Webサイト設定 › 開発者"に移動し、「許可されたオリジン」にURLを入力します(パスやワイルドカードを含まない、https://で始まるドメインに制限され、1サイトあたり最大20個まで)。http://localhost / 127.0.0.1)は登録不要で直接読み取ることができます。filter[field][op]=value、sort=-field、fields=field1,field2、expand=reference_field、カーソルページネーション、および?preview=1ドラフトプレビューをサポートしています。完全な仕様についてはを参照してください。コレクションは、「サイト全体で結合されたすべてのカスタムコレクションの合計レコード数(ドラフトを含む)」のみをカウントします。コレクション数、フィールド数、API読み取りリクエスト数は完全に無料です:
| アイテム | 無料プラン | プロプラン | ビジネスプラン |
|---|---|---|---|
| コレクションアイテム合計(下書きを含む。ブログシステムのコレクションは除外) | 50アイテム | 1,000アイテム | 10,000アイテム |
| 月間アドオン | 利用不可 | 1,000アイテムあたり月額1.50米ドル(サブスクリプション通貨で請求) | 1,000アイテムあたり月額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)」の管理には「Webサイト基本設定の管理」権限が必要であり、レコードクォータの追加には「サブスクリプションプランの管理」権限が必要です。
はい。"Webサイト設定 › Webサイト管理"でWebサイトのバックアップを生成すると、ZIPアーカイブには自動的にcollections/schema.json(すべてのコレクションのフィールド定義)とcollections/{key}.json(各コレクションの完全なドラフトおよび公開データ)が含まれます。コレクション内で参照されているメディアライブラリの画像やファイルも一緒にバンドルされます。
はい。ワークスペースでの保存、CSVのインポート、コレクションの作成、AIアシスタントやREST APIを介したデータの書き込みや公開など、すべてのアクションはアクティビティログに完全に記録され、操作者と使用されたツールが明確に示されます。
| 電話番号 |
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制限(フィルタリングや並べ替えは不可) |