yasutomogのブログ

Software Engineerの雑記

microCMSでの画面操作とWebhookのパラメータの一覧

概要

  • microCMSからのWebhookを利用して独自でデータ管理するために作成
  • コンテンツの状態とユーザー操作によって、typeとstatusがどう変わるかをまとめる
  • 参考サイトではstatusが配列で定義されているため、実際にどういう値が来るか確認

参考サイト

document.microcms.io

前提

  • コンテンツIDを手で変更することは考慮しない(ユーザーにさせない運用を想定)
  • コンテンツの並び替えは、データ自体の変更には影響ないため考慮しない
  • APIによる操作も考慮しない(利用しない想定)
  • SSGは今回とは別にWebhookを設定(特にtypeやstatusの判断は不要)

一覧

操作 type contents.old.status contents.new.status
コンテンツの公開(新規) new contents.old === null ["PUBLISH"]
コンテンツの公開(下書きデータなしの状態で更新) edit ["PUBLISH"] ["PUBLISH"]
コンテンツの公開(公開データなし && 下書きデータあり で更新) edit ["DRAFT"] ["PUBLISH"]
コンテンツの公開(公開データあり && 下書きデータあり で更新) edit ["PUBLISH","DRAFT"] ["PUBLISH"]
コンテンツの非公開時(下書きに戻す) edit ["PUBLISH"] ["DRAFT"]
コンテンツの下書き保存時(新規) new contents.old === null ["DRAFT"]
コンテンツの下書き保存時(公開データなしの状態で下書き更新) edit ["DRAFT"] ["DRAFT"]
コンテンツの下書き保存時(公開データありの状態で下書き新規) edit ["PUBLISH"] ["PUBLISH","DRAFT"]
コンテンツの下書き保存時(公開データありの状態で下書き更新) edit ["PUBLISH","DRAFT"] ["PUBLISH","DRAFT"]
公開中コンテンツの削除時(下書きなしの状態) delete ["PUBLISH"] contents.new === null
公開中コンテンツの削除時(下書きありの状態) delete ["PUBLISH","DRAFT"] contents.new === null
下書きコンテンツの削除時 delete ["DRAFT"] contents.new === null
下書きコンテンツの破棄 edit ["PUBLISH","DRAFT"] ["PUBLISH"]

結論

  • typeとstatusを使うことで、処理制御は大体できそう!