RESTful API エンドポイント (list)

listエンドポイントについて

オブジェクトの一覧を返します。ステータス付きモデルの場合認証付きリクエストで権限がない場合、非公開・無効なオブジェクトは取得できません。

※ 認証付きリクエストで listエンドポイントにアクセスした時、ユーザーの権限に基づき、管理画面のオブジェクト一覧画面のルールでオブジェクトを取得します。

エンドポイント(entryモデルの例)

/api/v1/スコープID/モデル名/list
/api/v1/1/entry/list

メソッド

GET または POST

パラメタ

  • limit : 取得する最大件数(省略時環境変数 api_list_limit : 初期値25)
  • offset : スキップする件数
  • sort_by : ソートするカラム名
  • sort_order : ascend(昇順) もしくは descend(降順)
  • cols : 返却するキー
  • query : キーワード(スペース区切りで複数指定可能)
  • search_cols : 検索対象のカラム名のカンマ区切り
  • search_type : phrase(デフォルト), and または or。
  • manage_revision : リビジョン対応のモデルの時、リビジョンの一覧を表示します。

※ パラメタはすべてオプションです。

?limit=件数&offset=スキップする件数&sort_by=カラム名&sort_order=昇順もしくは降順&cols=返却するキー1,返却するキー2&query=キーワード&search_cols=検索対象のカラム1,search_cols=検索対象のカラム2&search_type=検索タイプ

フィルタ

管理画面やダイナミックパブリッシングで利用できる一覧のフィルタ指定が可能です。

  • _filter_value_カラム名[] : 検索するカラムに対する検索文字列や数値を指定します。配列(末尾に[]を付与)として指定してください。複数の値が渡せます。
  • _filter_cond_カラム名[] : 検索条件を指定します。ctはcontains(含む)となります。_filter_value_カラム名[]に渡した値の数分指定の必要があります。
  • _filter_and_or_カラム名 : 「AND」または「OR」を指定可能です。管理画面のフィルタは常にAND検索となりますが、代わりにORを指定すると、OR検索となります(配列ではなく、1つのみ指定できます)。
  • _filter_and_or : 複数のカラムを検索対象とするとき、AND検索かOR検索かを指定します(配列ではなく、1つのみ指定できます)。
指定可能な検索条件
  • ct : Contains (含む)
  • nc : Not Contains (含まない)
  • gt : Greater Than (より大きい)
  • lt : Less Than (より小さい)
  • ge : Greater than or Equal (以上)
  • le : Less than or Equal (以下)
  • eq : Equal (等しい)
  • ne : Not Equal (等しくない)
  • bw : Begin with (から始まる)
  • ew : End with (で終わる)

例えば特定のユーザーの記事のIDとタイトルのみを取得する場合は以下のようなリクエストとなります(リレーション指定の時、ユーザーの場合はnickname、その他のモデルではプライマリカラムの値を指定します)

https://example.com/powercmsx/api/v1/1/entry/list?_filter_value_user_id[]=User%20Name&_filter_cond_user_id[]=eq&cols=id,title

レスポンス(成功時)

totalResultには、limitに関わらず指定した条件にマッチするオブジェクトのトータル件数がセットされます。

{
    "totalResult": 10,
    "items": [
        {
            "id": 1,
            "title": "Welcome!",
            "text": "<h2>Our Story<\/h2>\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<\/p>\n<blockquote>\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<\/p>\n<\/blockquote>",
            "text_format": "richtext",
            "assets": [
                {
                    "id": 26,
                    "label": "powercmsx",
                    "file": {
                        "Url": "https:\/\/localhost\/01\/assets\/powercmsx.png",
                        "Label": null,
                        "Metadata": {
                            "file_size": 76618,
                            "image_width": 600,
                            "image_height": 600,
                            "class": "image",
                            "extension": "png",
                            "mime_type": "image\/png",
                            "uploaded": "2021-09-02 15:11:58",
                            "user_id": 1
                        }
                    },
                    "extra_path": "assets\/",
                    "file_name": "powercmsx.png",
                    "file_ext": "png",
                    "mime_type": "image\/png",
                    "tags": [],
                    "size": 76618,
                    "image_width": 600,
                    "image_height": 600,
                    "class": "image",
                    "status": 4,
                    "created_by": 1,
                    "modified_by": 1,
                    "created_on": "2021-09-02 15:11:58",
                    "modified_on": "2021-09-02 15:11:58",
                    "workspace_id": 1,
                    "published_on": "2021-09-02 15:11:58",
                    "rev_type": 0,
                    "user_id": 1,
                    "uuid": "a415ce51-5e70-4b1b-9413-8342f3e864ab",
                    "Permalink": "http:\/\/mt4local.alfasado.net\/01\/assets\/powercmsx.png",
                    "Thumbnail": "https:\/\/localhost\/powercmsx\/assets_c\/thumb-asset-128xauto-square-26-file.png"
                }
            ],
            "text_more": "",
            "excerpt": "Our StoryLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
            "keywords": "",
            "categories": [
                {
                    "id": 1,
                    "label": "Press Release",
                    "order": 1,
                    "basename": "press_release",
                    "workspace_id": 1,
                    "created_on": "2021-08-27 15:13:45",
                    "modified_on": "2021-08-27 15:13:45",
                    "created_by": 1,
                    "modified_by": 1,
                    "Permalink": "http:\/\/mt4local.alfasado.net\/01\/press_release\/index.html",
                    "Path": "press_release"
                }
            ],
            "tags": [
                {
                    "id": 6,
                    "name": "PowerCMS X",
                    "normalize": "powercmsx",
                    "class": "entry",
                    "order": 2,
                    "workspace_id": 1,
                    "created_on": "2021-09-02 15:09:57",
                    "modified_on": "2021-09-02 15:09:57",
                    "created_by": 1,
                    "modified_by": 1
                }
            ],
            "extra_path": "",
            "basename": "powercmsx",
            "status": 4,
            "has_deadline": 0,
            "published_on": "2021-09-01 12:47:46",
            "user_id": {
                "id": 1,
                "nickname": "Junnama Noda",
                "photo": "",
                "text_format": "",
                "space_order": "",
                "fix_spacebar": 1,
                "language": "ja",
                "control_border": "",
                "status": 2
            },
            "previous_owner": 0,
            "allow_comment": 0,
            "created_on": "2021-08-27 15:13:45",
            "modified_on": "2021-09-02 15:12:06",
            "created_by": 1,
            "modified_by": 1,
            "workspace_id": 1,
            "uuid": "d574478a-6762-434f-b002-723c835444ee",
            "Permalink": "http:\/\/mt4local.alfasado.net\/01\/press_release\/powercmsx.html"
        }
    ]
}

レスポンス・エラー

共通レスポンスエラーについてはこちら を参照ください。

許可されないリクエストメソッド

{
    "status": 400,
    "message": "Method リクエストメソッド not allowed."
}

認証付きリクエストでログイン中のユーザーがそのオブジェクトに対する一覧表示権限がない

{
    "status": 403,
    "message": "Permission denied."
}