microCMS

拡張フィールドでiframe要素にAPIエンドポイントとコンテンツIDが送られるようになりました

宇都宮気伸

更新情報をお知らせいたします。

2025年5月9日にご案内していた拡張フィールドでiframe要素に送信される値の変更」が、この度リリースされました。
変更の背景、影響の可能性があるサービスについては、以下のお知らせ記事をご覧ください
【仕様変更】拡張フィールドでiframe要素に送信される値の変更について | microCMSブログ

また、今回のリリースに伴い、microcms-field-extension(SDK)のアップデートもリリースされましたので、本記事で変更点をご紹介いたします。

変更した点

管理画面上

次のシーケンス図において、①で送信されるデータMICROCMS_GET_DEFAULT_DATAcontextオブジェクトが加わります。

contextオブジェクトの内容の一部は、コンテンツの新規作成時、編集時で異なります。
下記はコンテンツの新規作成時に渡されるデータ例です。

{
  "id": "some-id",
  "action": "MICROCMS_GET_DEFAULT_DATA",
  "user": {
    "email": "example@microcms.co.jp"
  },
  // ここから
  "context": {
    "type": "new_content",
    "endpoint": "some-api",
    "content": {
      "id": null
    }
  }
  // ここまで
}

続いて、下記はコンテンツの編集時に渡されるデータ例です。

{
  "id": "some-id",
  "action": "MICROCMS_GET_DEFAULT_DATA",
  "user": {
    "email": "example@microcms.co.jp"
  },
  "message": {
    "data": "iframeでデータを登録しています"
  },
  // ここから
  "context": {
    "type": "edit_content",
    "endpoint": "some-api",
    "content": {
      "id": "some-content-id"
    }
  }
  // ここまで
}


SDK

microcms-field-extension-api の変更点を示します。サンプルコード中のコメントをご覧ください。

import {
  setupFieldExtension,

  // 新しく追加された型
  type MessageContext,
  type MessageContextTypeNewContent,
  type MessageContextTypeEditContent,
} from "microcms-field-extension-api";

setupFieldExtension({
  // ...略...
  onDefaultData({ data: { context } }) {
    // 新しく追加されたcontextオブジェクトを参照できます
    console.log(context);
  },
});

続いて、microcms-field-extension-react の変更点を示します。サンプルコード中のコメントをご覧ください。

import { useFieldExtension } from "microcms-field-extension-react";

function App() {
  const {
    data,
    sendMessage,
    // 新しく追加されたcontextオブジェクトを参照できます
    context,
  } = useFieldExtension("hello", { origin: "https://your-service.microcms.io" });

  const onChange = (e) => {
    sendMessage({ data: e.target.value });
  };

  return <input type="text" value={data} onChange={onChange} />;
}


おわりに

今回の機能改修により、iframe要素で表示されるアプリケーション側でコンテンツやAPIの判別が可能になります。
これにより、API別でUIの切り替えなどお使いいただけるのではないかと思います。
今後も、より使いやすいサービスを目指してAPI、管理画面ともに改善してまいります。ご要望などございましたら、管理画面右下のチャットボタンよりご意見いただけますと幸いです。

まずは、無料で試してみましょう。

APIベースの日本製ヘッドレスCMS「microCMS」を使えば、 ものの数分でAPIの作成ができます。

microCMSを無料で始める

microCMSについてお問い合わせ

初期費用無料・14日間の無料トライアル付き。ご不明な点はお気軽にお問い合わせください。

お問い合わせ

microCMS公式アカウント

microCMSは各公式アカウントで最新情報をお届けしています。
フォローよろしくお願いします。

  • X
  • Discord
  • github

ABOUT ME

宇都宮気伸
Web制作・開発会社を経てmicroCMSにジョイン。ReactをはじめとするモダンなWeb開発が好きで、主にフロントエンドの分野を得意としています。趣味は散歩、ジムでのワークアウト、料理など。