microCMS

カスタムステータス

最終更新日:2024年01月30日

microCMSでは『公開中』『下書き中』『公開終了』の3つのステータスを用意しています。カスタムステータスでは、それらに加え新たに独自のステータスを作成し、コンテンツに割り当てることができます。

informationInformation

カスタムステータスはBusinessプラン、Advancedプラン、Enterpriseプランでご利用いただける機能です。
プランごとに利用できる機能については、料金プランページをご覧ください。

作成方法

カスタムステータスはAPIごとに作成が可能です。
カスタムステータスを作成したいAPIの画面右上にある「API設定」→「カスタムステータス」と進むと設定画面に遷移します。

ここではキャンペーン終了ステータスを作成する例をご紹介します。



追加ボタンを押してステータスを作成するための情報を入力します。



それぞれの項目は以下のような情報を入力してください。

  • APIステータス名:APIに反映されるステータス名です。デフォルトのコンテンツステータス「PUBLISH」「DRAFT」「CLOSED」以外の名前を設定してください。
  • 表示ステータス名:管理画面で表示されるステータス名です。一目でどんなステータスなのかがわかる名前を設定します。
  • ステータスの説明:ステータスの説明があれば設定します。空欄可。
  • ステータスの状態:ステータスの状態を「公開」「下書き」「公開終了」から選択します。
  • ステータスカラー:管理画面で表示されるステータスの色をカラーパレットから設定します。


「APIステータス名」と「表示ステータス名」は既存のステータスと重複しない値を入力してください。
カスタムステータスが作成されると一覧に表示されます。


利用方法

カスタムステータスを作成するとコンテンツ詳細画面のステータス表示がプルダウンに変更されるので、ここでステータスを切り替えることができます。

informationInformation
  • ステータスの状態やステータスカラーが異なっていても、APIステータス名と表示ステータス名は重複して作成することはできません。
  • ステータスの状態が異なるカスタムステータスに変更することはできません。その場合は、「公開終了にする」「下書きに戻す」などの操作を行い、ステータスの状態を変更後、任意のカスタムステータスを設定してください。

API経由でカスタムステータスを取得する方法

カスタムステータスはコンテンツAPIのレスポンスには含まれません。
API経由でカスタムステータスを取得する場合にはマネジメントAPI(ベータ)を使用します。
カスタムステータスが含まれたコンテンツに対して、マネジメントAPI(対象エンドポイントは後述します)を用いてリクエストすると、以下のようにレスポンスに customStatus が配列で含まれます。
管理画面の内容がレスポンスに反映されます。

  • APIステータス名:key
  • 表示ステータス名:name
  • ステータスの説明:description
  • ステータスの状態:behavior
  • ステータスカラー:color
{
  "id": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "publishedAt": "2019-08-24T14:15:22Z",
  "revisedAt": "2019-08-24T14:15:22Z",
  "status": [
    "PUBLISH"
  ],
  // このcustomStatusが新たに追加されます。
  // customStatusが未対応のプランや設定されていない場合はnullになります。
  "customStatus": [
    {
      "key": "USER_DEFINED_CUSTOM_STATUS_KEY123",
      "description": "ユーザが定義したカスタムステータスです。",
      "name": "カスタムステータスのテスト",
      "behaviour": "PUBLISH",
      "color": "#a20063",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "draftKey": "string",
  "createdBy": "string",
  "updatedBy": "string",
  "reservationTime": {
    "publishTime": "2019-08-24T14:15:22Z",
    "stopTime": "2019-08-24T14:15:22Z"
  }
}


現時点では以下のエンドポイントに対応しています。マネジメントAPIの詳細は下記のドキュメントをご覧ください。

GET /api/v1/contents/{endpoint}
https://document.microcms.io/management-api/get-list-contents-management
GET /api/v1/contents/{endpoint}/{content_id}
https://document.microcms.io/management-api/get-content