TailCMSでヘッドレスAPIを構築・運用するための実践ガイド。コピー&ペーストで動くコード例付き。
TailCMSはオープンなヘッドレスCMSです。管理画面でコンテンツモデルを定義すると、REST・GraphQL APIが自動生成されます。フロントエンドの技術選定は自由——React、Vue、Next.js、モバイル、IoTなど、あらゆるチャネルへ同じコンテンツを配信できます。
このドキュメントでは、セットアップからAPIの使い方、認証、拡張、デプロイまでを順に解説します。
Node.js 18以上が必要です。次のコマンドで新規プロジェクトを作成します。
起動後、ブラウザで /app を開き、最初の管理者アカウントを作成してください。コンテンツタイプを作成すると、即座にAPIが /api/<plural> に公開されます。
TailCMSは「管理(バックエンド)」と「表示(フロントエンド)」を分離したヘッドレス構成です。
/app で動作するReact製の管理UI。/api)とGraphQL(/graphql)。コンテンツタイプはデータの構造です。コレクションタイプ(記事一覧など複数)とシングルタイプ(トップページなど単一)の2種類があります。管理画面の Content-Type Builder でノーコードに定義できます。
例:article コレクションを作ると、以下のRESTエンドポイントが自動生成されます。
コンポーネントは再利用可能なフィールドの集合です。SEOメタ情報や住所など、複数のコンテンツタイプで共有する構造をまとめられます。動的ゾーン(Dynamic Zone)を使えば、ページビルダーのような柔軟なレイアウトも実現できます。
ロケールごとにコンテンツを管理できます。APIでは locale パラメータで言語を指定します。
すべてのコレクションは /api/<plural> に公開されます。レスポンスは data と meta を含むJSONです。
filters 演算子で柔軟に絞り込めます($eq, $ne, $lt, $gt, $contains, $in など)。
レスポンスの meta.pagination に総件数やページ数が含まれます。
リレーションやメディアは既定では含まれません。populate で展開し、fields で取得項目を絞ります。
GraphQLプラグインを有効にすると /graphql で単一エンドポイントが使えます。
管理画面の 設定 → APIトークン でトークンを発行し、Authorization ヘッダーに付与します。読み取り専用・フルアクセスなど権限を選べます。
エンドユーザー向けの認証・認可も標準搭載。ロール(Public / Authenticated / カスタム)ごとに、どのAPIを呼べるかを制御します。サインアップ・ログインはJWTで行います。
コンテンツの作成・更新・公開などをトリガに、外部URLへPOSTできます。静的サイトの再ビルドや通知連携に便利です。設定は 設定 → Webhooks から。
機能はプラグインで拡張できます。GraphQL、ドキュメント生成、SSOなどが利用可能です。独自プラグインの作成にも対応しています。
本番ビルドして任意のNode.jsホスト・コンテナ・専有クラウドへ。詳しくは デプロイガイド を参照してください。
よく使うコマンド: