コンテンツを取得する(GET /contents/{id})
基本情報
指定したIDのコンテンツを取得します。
/v1/contents/1234567890 のように、content_idには数値を指定してください。
model パラメータを使用してください。GET/v1/contents/{content_id}
https://cms-api.nilto.com/v1/contents/{content_id}
リクエスト
リクエストパラメータ
X-NILTO-API-KEYX-NILTO-API-KEY | NILTO APIキー。 スペース設定のAPIキー画面で取得することができます。 |
content_id必須 | integer |
select | string
指定しなかったフィールドはレスポンスに含まれません。 コンテンツ参照フィールド等の階層化されたデータにはドット記法でさらに細かく指定することができます。 |
depth | integer |
lang | string |
{field_luid}[format] | string |
include | string
コンテンツの「前後」は一覧取得用のクエリパラメータ( 詳細はレスポンスの拡張をご参照ください。 |
リクエスト例
curl -H 'X-NILTO-API-KEY:0000000000000000000000' \
'https://cms-api.nilto.com/v1/contents/1234567890?lang=ja'レスポンス
概要
NILTO DeveloperAPI が返すレスポンスデータは、システムで自動設定されるシステムプロパティとユーザーが独自に定義したフィールドプロパティにより構成されます。
{
"_id": 1234567890,
"_model": "news",
"_title": "Hello World",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_last_published_at": "2023-01-23T04:50:00Z",
"_status": "published",
"_space": "_parent",
"flexibletext_field": "<div><h2>abcedf</h2><p>abcedf</p><ul><li>abcedf</li></ul></div>",
"singleline_field": "foobar",
"boolean_field": true
}システムプロパティ
APIレスポンスに共通で含まれる、システム管理のプロパティです。
これらのプロパティは _ (アンダースコア) から始まります。
プロパティ名 | 説明 |
|---|---|
_id | コンテンツを一位に識別するための一意なID。 |
_model | コンテンツが属するモデルのLUID。 |
_title | コンテンツのタイトル。モデルに設定された「タイトル用フィールド」の値が自動的に反映されます。 |
_created_at | コンテンツが作成された日時。日時は ISO 8601 形式のUTC(協定世界時)で表現されます。 |
_updated_at | コンテンツが最後に更新された日時。日時は ISO 8601 形式のUTCで表現されます。 |
_published_at | コンテンツがはじめて公開された日時。下書き状態の場合は null になることがあります。日時は ISO 8601 形式のUTCで表現されます。 |
_last_published_at | コンテンツが最後に公開された日時。下書き状態の場合は null になることがあります。日時は ISO 8601 形式のUTCで表現されます。 |
_status | コンテンツの公開状態を示します。 |
_space | サブスペース機能が有効な場合に、コンテンツが所属するスペースのLUIDを示します。 |
_prev |
|
_next | includeパラメータを指定してレスポンスを拡張した場合に表示します。 |
フィールドプロパティ
ユーザーが独自に定義したフィールドのデータです。
キーには各フィールドのLUID (Locally Unique Identifier) が、値にはユーザーが管理画面で入力した内容がレスポンスされます。
フィールド種類ごとのレスポンスデータを例示します。
flexibletext_field[format]=htmlを指定した場合(デフォルト動作)
"flexibletext_field": "<h2>abcdef</h2><p>abcdef</p><ul><li>abcdef</li></ul>"flexibletext_field[format]=textを指定した場合
"flexibletext_field": "abcdef abcdef abcdef"flexibletext_field[format]=markdownを指定した場合
"flexibletext_field": "## abcdef\n\nabcdef\n\n* abcdef"flexibletext_field[format]=portable_htmlを指定した場合
"flexibletext_field": "<h2 data-nilto-ftelm='123123123'>abcdef</h2><p data-nilto-ftelm='456456456'>abcdef</p><ul data-nilto-ftelm='789789789'><li>abcdef</li></ul>"※ポータブルHTML(portable_html)
書き込みAPIでのフレキシブルテキストフィールドへのデータ登録に適した独自HTMLフォーマットです。
アドオン要素が適用された状態でフレキシブルテキストフィールドにデータ登録することができます。
"singleline_field": "foobar""multiline_field": "foobar\r\nfoobar""boolean_field": true"singleselect_field": "value""multiselect_field": [
"value1",
"value2",
"value3"
]"datetime_field": "2023-01-23T04:50:00Z"日時は ISO 8601 形式のUTC(協定世界時)で表現されます。
"media_field": {
"url": "https://cms-assets.nilto.com/spaces/1234567890/media/2345678901/_/abc.png",
"alt": "alternative text"
}NILTO のメディアは Fastly Image Optimizer に対応しています。
URLの末尾にクエリパラメータを付与することで、画像のリサイズやフォーマット変換が可能です。
代表的なパラメータ:
?width=800: 幅を指定?height=600: 高さを指定?format=webp: WebPに変換?fit=bounds: アスペクト比を維持して収める
詳細は Fastory IO 仕様 を参照してください。
"reference_field": {
"_id": 2345678901,
"_model": "referenced",
"_title": "Hello World2",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_status": "published",
"singleline_field": "foobar"
}繰り返しは、フィールドの集合であるオブジェクトの配列で表現されます。
"repeat_field": [
{
"singleline_field": "foo",
"boolean_field": true
},
{
"singleline_field": "foobar",
"boolean_field": false
},
{
"singleline_field": "foobarbaz",
"boolean_field": true
}
]組み合わせは、フィールドセットのデータであるオブジェクトの配列で表現されます。 フィールドセット内のluidは指定したLUIDです。fieldsはフィールドセット内フィールドです。
"combination_field": [
{
"luid": "field_set_a",
"fields": {
"singleline_field": "foo",
"boolean_field": true
}
},
{
"luid": "field_set_b",
"fields": {
"datetime_field": "2023-01-23T04:50:00Z",
"singleselect_field": "value"
}
},
{
"luid": "field_set_a",
"fields": {
"singleline_field": "foobar",
"boolean_field": false
}
}
]"field_set": {
"singleline": "foobar",
"boolean": true
}レスポンスの拡張
include パラメータを指定することで、レスポンスを拡張することができます。
ID指定でのコンテンツ取得時に有効。
コンテンツを一覧取得した際の、指定コンテンツの「前」に該当するコンテンツ情報を_prev プロパティキーで取得。
コンテンツの「前後」は一覧取得用のクエリパラメータ( order キーや各種フィルター条件)を元に判定します。
同一条件でヒットするコンテンツが1,000件を超える場合、_prevデータを正しく取得できない可能性があります。
フィルター条件を調整してください。
リクエスト例
/v1/contents/1234567890/?include=_prevレスポンス例
{
"_id": 1234567890,
"_model": "news",
"_title": "Current Content",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_last_published_at": "2023-01-23T04:50:00Z",
"_status": "published",
"_space": "_parent",
"_prev": {
"_id": 1111111111,
"_model": "news",
"_title": "Previous Content",
"_created_at": "2023-02-01T04:50:00Z",
"_updated_at": "2023-02-01T04:50:00Z",
"_published_at": "2023-02-01T04:50:00Z",
"_last_published_at": "2023-02-01T04:50:00Z",
"_status": "published",
"_space": "_parent",
"flexibletext_field": "<div><h2>Previous Content H2</h2><p>abcedf</p></div>",
"singleline_field": "previous",
"boolean_field": true
},
"flexibletext_field": "<div><h2>Current Content H2</h2><p>abcedf</p></div>",
"singleline_field": "foobar",
"boolean_field": true
}ID指定でのコンテンツ取得時に有効。
コンテンツを一覧取得した際の、指定コンテンツの「後」に該当するコンテンツ情報を_next プロパティキーで取得。
コンテンツの「前後」は一覧取得用のクエリパラメータ( order キーや各種フィルター条件)を元に判定します。
同一条件でヒットするコンテンツが2,000件を超える場合、_nextデータを正しく取得できない可能性があります。
フィルター条件を調整してください。
リクエスト例
/v1/contents/1234567890/?include=_nextレスポンス例
{
"_id": 1234567890,
"_model": "news",
"_title": "Current Content",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_last_published_at": "2023-01-23T04:50:00Z",
"_status": "published",
"_space": "_parent",
"_next": {
"_id": 2222222222,
"_model": "news",
"_title": "Next Content",
"_created_at": "2023-01-01T04:50:00Z",
"_updated_at": "2023-01-01T04:50:00Z",
"_published_at": "2023-01-01T04:50:00Z",
"_last_published_at": "2023-01-01T04:50:00Z",
"_status": "published",
"_space": "_parent",
"flexibletext_field": "<div><h2>Next Content H2</h2><p>abcedf</p></div>",
"singleline_field": "next",
"boolean_field": true
},
"flexibletext_field": "<div><h2>Current Content H2</h2><p>abcedf</p></div>",
"singleline_field": "foobar",
"boolean_field": true
}使用例
例1: blogsモデルをorder_fieldでソートした際の、前後のコンテンツ情報を取得
/v1/contents/1234567890/?model=blogs&order=order_field&include=_prev,_next例2:さらに、selectキーを細かく指定して、前後のコンテンツ情報のうち一部プロパティのみ取得
/v1/contents/1234567890/?model=blogs&order=order_field&include=_prev,_next&select=_prev._id,_prev.singleline_field,_next._id,_next.singleline_fieldレスポンスイメージ
{
"_id": 1234567890,
"_model": "news",
"_title": "Current Content",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_last_published_at": "2023-01-23T04:50:00Z",
"_status": "published",
"_space": "_parent",
"_prev": {
"_id": 1111111111,
"singleline_field": "previous"
},
"_next": {
"_id": 2222222222,
"singleline_field": "next"
},
"flexibletext_field": "<div><h2>Current Content H2</h2><p>abcedf</p></div>",
"singleline_field": "foobar",
"boolean_field": true
}レスポンスボディ
200 OK
_id | integer |
_model | string |
_title | string モデルに設定された「タイトル用フィールド」の値が自動的に反映されます。 |
_created_at | string コンテンツが作成された日時。 日時は ISO 8601 形式のUTC(協定世界時)で表現されます。 |
_updated_at | string 日時は ISO 8601 形式のUTCで表現されます。 |
_published_at | string |
_last_published_at | string 2025年6月25日以前に公開されたコンテンツは _published_at と同内容がレスポンスされます。 |
_status | string |
_space | string |
{field_luid} | array or string or boolean or object |
{media_field_luid} | object |
400 Bad Request
status | string |
code | string |
401 Unauthorized
status | string |
code | string |
402 Payment Required
status | string |
code | string |
403 Forbidden
status | string |
code | string |
404 Not Found
status | string |
code | string |
429 Too Many Requests
status | string |
code | string |
message | string |
500 Internal Server Error
status | string |
code | string |
レスポンス例
{
"_id": "1234567890",
"_model": "news",
"_title": "Hello World",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_last_published_at": "2023-01-23T04:50:00Z",
"_status": "published",
"_space": "_parent",
"flexibletext_field": "<div><h2>abcedf</h2><p>abcedf</p><ul><li>abcedf</li></ul></div>",
"singleline_field": "foobar",
"multiline_field": "foo\nbar",
"boolean_field": true,
"singleselect_field": "value1",
"datetime_field": "2023-01-23T04:50:00Z",
"media_field": {
"url": "https://cms-assets.nilto.com/spaces/1234567890/media/2345678901/_/abc.png",
"alt": "alternative text"
},
"repeat_field": [
{
"singleline_field": "foobar",
"boolean_field": true
},
{
"singleline_field": "foobarbaz",
"boolean_field": false
}
],
"combination_field": [
{
"luid": "block_a",
"fields": {
"multiline_field": "foo\nbar",
"boolean_field": true
}
},
{
"luid": "block_b",
"fields": {
"datetime_field": "2023-01-23T04:50:00Z",
"repeat_field": [
{
"singleline_field": "foobar"
},
{
"singleline_field": "foobarbaz"
}
]
}
},
{
"luid": "block_a",
"fields": {
"multiline_field": "foo\nbar\nbaz",
"boolean_field": false
}
}
],
"reference_field": {
"_id": "2345678901",
"_title": "Hello World2",
"_created_at": "2023-01-23T04:50:00Z",
"_updated_at": "2023-01-23T04:50:00Z",
"_published_at": "2023-01-23T04:50:00Z",
"_status": "draft",
"reference_field": "3456789012"
},
"field_set1": {
"singleline_field": "foobar",
"boolean_field": true
},
"field_set2": {
"multiline_field": "foo\nbar",
"datetime_field": "2023-01-23T04:50:00Z"
}
}{
"status": "400",
"code": "BadRequest"
}{
"status": "401",
"code": "Unauthorized"
}{
"status": "402",
"code": "Payment Required"
}{
"status": "403",
"code": "Forbidden"
}{
"status": "404",
"code": "Not Found"
}{
"status": "429",
"code": "Too Many Requests",
"message": "Expected available in 58 seconds."
}{
"status": "500",
"code": "Internal Server Error"
}