カスタムフィールドでの絞り込みはどのように実装しますか?

→filtersパラメータを使用することで絞り込みが可能です

カスタムフィールドはfiltersパラメータを使用し{フィールドID}.{絞り込みに用いるフィールドID}[条件]{VALUE}とすることでカスタムフィールド内の値を対象に絞り込みが可能です。

リクエスト例

具体的には、以下のようにリクエストすることで絞り込むことが可能です。

client
      .get({
        endpoint: 'documents',
        queries: { filters: 'title.en[equals]Custom Fields' }
      })
      .then((res) => console.log(res));

実装例

多言語管理をしているドキュメントサイトを例にしてスキーマ設定からカスタムフィールドでの絞り込みの方法までを紹介します。
想定する絞り込みの例:カスタムフィールドで設定したタイトル(English)が「Custom Fields」に一致するコンテンツを絞り込む。

1. カスタムフィールドの基本情報を設定

2. カスタムフィールドのAPIスキーマを定義

今回は多言語管理のドキュメントサイトを想定しているので、日本語と英語(English)のテキストを入力できるように設定します。

3. 作成したカスタムフィールドを利用

「API設定」>「APIスキーマ」に移動し、フィールドの種類から「カスタム」を選択します。


先ほど作成したカスタムフィールド(タイトル)を選択

4.  コンテンツにタイトルを入力して保存する

5.  filtersパラメータを使用して絞り込む

タイトル(English)が「Custom Fields」に一致するコンテンツを絞り込みたいので以下のようにリクエストします。

$ curl "https://{SERVICE_ID}.microcms.io/api/v1/documents?filters=title.en%5Bequals%5DCustom%20Fields" -H "X-MICROCMS-API-KEY: {API_KEY}"