REST APIリファレンス
REST APIは、APIエンドポイントを通じてコンテンツタイプにアクセスすることを可能にします。AI Marketerは、content-typeが作成されると自動的にAPIエンドポイントを作成します。APIパラメータは、APIエンドポイントを要求する際に、結果を絞り込むために使用することができます。
このドキュメンテーションのセクションは、REST APIリファレンスのためのものです。
デフォルトでは、REST APIのレスポンスはトップレベルのフィールドのみを含み、関連性、メディアフィールド、コンポーネント、またはダイナミックゾーンは展開されません。特定のフィールドを展開するには、[populate パラメータ]を使用してください。展開する関連性のフィールドに対してfind権限が与えられていることを確認してください。
エンドポイント
各Content-Typeに対して、以下のエンドポイントが自動的に生成されます:
複数形のAPI IDと単数形のAPI ID:
:singularApiIdはcontent-typeの"API ID (Singular)"フィールドの値を指します。:pluralApiIdはcontent-typeの"API ID (Plural)"フィールドの値を指します。
これらの値は、コンテンツタイプビルダーでコンテンツタイプを作成する際に定義され、管理パネルでコンテンツタイプを編集する際に見つけることができます(ユーザーガイドを参照してください)。例えば、デフォルトでは、"Article" content-typeでは:
:singularApiIdはarticleになります:pluralApiIdはarticlesになります
- コレクションタイプ
- シングルタイプ
| メソッド | URL | 説明 |
|---|---|---|
GET | /api/:pluralApiId | ドキュメントのリストを取得する |
POST | /api/:pluralApiId | ドキュメントを作成する |
GET | /api/:pluralApiId/:documentId | ドキュメントを取得する |
PUT | /api/:pluralApiId/:documentId | ドキュメントを更新する |
DELETE | /api/:pluralApiId/:documentId | ドキュメントを削除する |
| メソッド | URL | 説明 |
|---|---|---|
GET | /api/:singularApiId | ドキュメントを取得する |
PUT | /api/:singularApiId | ドキュメントを更新/作成する |
DELETE | /api/:singularApiId | ドキュメントを削除する |
コンポーネントはAPIエンドポイントを持っていません。
リクエスト
リクエストは、通常以下のキーを含むオブジェクトとしてレスポンスを返します:
data:レスポンスデータそのもので、以下のいずれかとなります:- 単一のドキュメント。以下のキーを持つオブジェクト:
id(整数)documentId(文字列)、これは特定のドキュメントを問い合わせる際に使用する一意の識別子です。- 属性(各属性のタイプは属性によります、詳細はモデル属性のドキュメンテーションを参照してください)
meta(オブジェクト)
- ドキュメントのリスト。オブジェクトの配列
- カスタムレスポンス
- 単一のドキュメント。以下のキーを持つオブジェクト:
meta(オブジェクト):ページネーション、公開状態、利用可能なロケールなどについての情報。error(オブジェクト、オプション):リクエストによってスローされたエラーに関する情報。
ドキュメントの取得
クエリフィルタに一致するドキュメントを返します。
GET http://localhost:1337/api/restaurants
{
"data": [
{
"id": 2,
"documentId": "hgv1vny5cebq2l3czil1rpb3",
"Name": "japan restaurant",
"Description": null,
"createdAt": "2024-03-06T13:42:05.098Z",
"updatedAt": "2024-03-06T13:42:05.098Z",
"publishedAt": "2024-03-06T13:42:05.103Z",
"locale": "en"
},
{
"id": 4,
"documentId": "znrlzntu9ei5onjvwfaalu2v",
"Name": "USA Restaurant",
"Description": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "Welcome to restaurant!"
}
]
}
],
"createdAt": "2024-03-06T13:43:30.172Z",
"updatedAt": "2024-03-06T13:43:30.172Z",
"publishedAt": "2024-03-06T13:43:30.175Z",
"locale": "en"
}
],
"meta": {
"pagination": {
"page": 1,
"pageSize": 25,
"pageCount": 1,
"total": 2
}
}
}
ドキュメントの取得
documentIdによるドキュメントの取得。
GET http://localhost:1337/api/restaurants/j964065dnjrdr4u89weh79xl
{
"data": {
"id": 6,
"documentId": "znrlzntu9ei5onjvwfaalu2v",
"Name": "Japan Restaurant",
"Description": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "Welcome to restaurant!"
}
]
}
],
"createdAt": "2024-02-27T10:19:04.953Z",
"updatedAt": "2024-03-05T15:52:05.591Z",
"publishedAt": "2024-03-05T15:52:05.600Z",
"locale": "en"
},
"meta": {}
}
POST http://localhost:1337/api/restaurants
{
"data": {
"Name": "Restaurant D",
"Description": [ // "Rich text (blocks)"フィールドタイプを使用
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "ここに説明を入力します。"
}
]
}
]
}
}
{
"data": {
"documentId": "bw64dnu97i56nq85106yt4du",
"Name": "Restaurant D",
"Description": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "ここに説明を入力します。"
}
]
}
],
"createdAt": "2024-03-05T16:44:47.689Z",
"updatedAt": "2024-03-05T16:44:47.689Z",
"publishedAt": "2024-03-05T16:44:47.687Z",
"locale": "en"
},
"meta": {}
}
ドキュメントの更新
idによってドキュメントを部分的に更新し、その値を返します。
フィールドをクリアするには null 値を送信します。
- 変更されていないフィールドもリクエストのボディに含める必要があります。
- ドキュメントを更新する際に、その関連性と順序を定義することができます。
PUT http://localhost:1337/api/restaurants/hgv1vny5cebq2l3czil1rpb3
{
"data": {
"Name": "AI Marketer", // このフィールドは変更していませんが、それでも含める必要があります
"Description": [ // "Rich text (blocks)" フィールドタイプを使用
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "ここに説明を入力します。"
}
]
}
]
}
}
{
"data": {
"id": 9,
"documentId": "hgv1vny5cebq2l3czil1rpb3",
"Name": "AI Marketer",
"Description": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "ここに説明を入力します。"
}
]
}
],
"createdAt": "2024-03-06T13:42:05.098Z",
"updatedAt": "2024-03-06T14:16:56.883Z",
"publishedAt": "2024-03-06T14:16:56.895Z",
"locale": "en"
},
"meta": {}
}
DELETE http://localhost:1337/api/restaurants/bw64dnu97i56nq85106yt4du