---
title: カスタムメンバーフィルターで利用できるカスタム処理の変数
description: api
weight: 1
---

カスタム処理で独自に定義したフィルターをカスタムメンバーフィルターで使用できます。  
カスタムメンバーフィルター編集画面で、カスタム処理タブを開き、適応するカスタム処理を選択してください。  

![Image from Gyazo](https://t.gyazo.com/teams/diverta/5f48f5b56b4de44126d5a658ad0bc6d1.png)

## カスタムメンバーフィルターの変数

|変数名|種別|説明|
|:--|:--|:--|
|$params|入力変数|カスタムメンバーフィルターに設定したJSONが渡されます。|
|$data|出力変数|`$data.result`(真偽値)または、`$data.filter`(フィルタ用の文字列)のいずれかを設定します。<br/>両方指定された場合は `$data.result` が優先されます。|

### $params
カスタムメンバーフィルターに設定したJSONが渡されます。

![Image from Gyazo](https://t.gyazo.com/teams/diverta/f03ac047f714c5a3f2d2287f47926274.png)

### $data.result

0/1 または false/true を指定します。

|値|説明|
|:--|:--|
|0, false|すべてのメンバーを出力しない|
|1, true|すべてのメンバーを出力する|

:::info
`$data.filter`が同時に指定された場合は、`$data.result`が優先されます。
:::

### $data.filter

フィルタ用の文字列を指定します。  

例：`member_id in [2,4,5]`

形式は、Member::listのエンドポイントにかけるフィルタと同様です。  
利用できる条件や記述は[Filter検索のパラメータ](/ja/docs/reference/filter-query/)を参照してください。

## カスタム処理の例
カスタム処理内で`{date}`のSmartyプラグインや`$smarty.session.member_id`を利用することで、カスタムメンバーフィルターを利用した日付や、メンバーで結果が変わるフィルターを作成できます。  

カスタム処理の例をいくつか紹介します。

### $data.result の利用例

毎月5日に全てのメンバーに出力し、5日以外は誰も出力しないフィルター。

```smarty
{assign_array var="data" values=""}
{date var='day' time='now' format='d'}
{if $day == 5}
    {append var="data" index="result" value=true}
{else}
    {append var="data" index="result" value=false}
{/if}
```

### $paramsと$data.resultの利用例

毎月、カスタムメンバーフィルターで指定された日に全てのメンバーに出力し、それ以外は誰も出力しないフィルター。

**カスタムメンバーフィルター編集画面のJSON**  
```json
{"special_day": 5}
```

**カスタム処理**  
```smarty
{assign_array var="data" values=""}
{date var='day' time='now' format='d'}
{if $day == $params.special_day}
    {append var="data" index="result" value=true}
{else}
    {append var="data" index="result" value=false}
{/if}
```

### $data.filter の利用例

メンバーの拡張項目に「業種（business_type）」を定義し、カスタムメンバーフィルターを利用したログインメンバーと同一の「業種」のメンバーを出力するフィルター。

```smarty
{assign_array var="data" values=""}

{assign_array var="method_params" values=""}
{assign_array var="request_params" values=""}
{append var="method_params" index="member_id" value=$smarty.session.member_id}
{api_method
    var='member'
    model='Member'
    method='details'
    version='1'
    method_params=$method_params
    request_params=$request_params
}
{if $member}
    {append var="data" index="filter" value="business_type=`$member.details.business_type.key`"}
{else}
    {append var="data" index="result" value=false}
{/if}
```