メインコンテンツまでスキップ

抽出条件

抽出条件をパラメータ化する方法を説明します。

抽出条件をパラメータ化する場合は、以下の主要キーをキーとするオブジェクトとして表現します。

  • title
  • grouping
  • conditions

リクエストは、以下のような基本形をとります。

{
"title": "タイトル",
"grouping": true,
"conditions": {
/* 条件 */
}
}

title

抽出条件の名称。

grouping

条件の結合方法。

  • true = AND
  • false = OR

conditions

項目ごとの条件。

「項目ごとの条件」は項目名をキーとして、その値に「条件のとりかた」と「付加情報」(からなる配列)を結びつけたオブジェクトとします。

キーとなる項目名は以下の通りです。

種別項目名
会員IDid
登録日時regist_date
更新日時update_date
一括処理日時batch_date
アップロード日時upload_date
最終ホストlast_host
最終REFERERlast_referer
最終USER_AGENTlast_useragent
クリックカウントフラグclick_count_flag
画像投稿会員posted_image
List-Unsubscribed登録会員list_unsubscribe
その他,ユーザ定義項目e_## (##は項目ID)
備考

なお、別のデータベース項目のリレーション属性により参照先となっている場合は、参照元データベースの項目(該当のリレーション属性を持つ項目を除く)についても指定可能です。

条件のとりかた

「条件のとりかた」は int 型の値とし、以下の通りです。

条件のとりかた内容
(条件を指定しない)1条件を指定しない
完全に一致2条件値が対象値(会員情報の該当項目における値) と完全に一致する
前方に一致3条件値が対象値の前方(先頭基準)に含まれる
後方に一致4条件値が対象値の後方(末尾基準)に含まれる
含む(複数選択項目の場合は「全てを含む」)5条件値が対象値に含まれる
完全に一致しない(複数選択項目の場合は「全てを含まない」)6条件値が対象値と完全に異なる
前方に一致しない7条件値が対象値の前方(先頭基準)に含まれない
後方に一致しない8条件値が対象値の後方(末尾基準)に含まれない
含まない9条件値が対象値に含まれない
データなし10対象値に何も記述されていない
選択11対象値が真
未選択12対象値が偽
何れかを含む13条件値がいずれかの対象値を含む
何れかを含まない14条件値が対象値に含まれない
選択した個数15条件値と対象値の個数が等しい
キャリア16条件値が対象配信キャリアと等しい
エラー回数17条件値が対象エラー回数と等しい
履歴19条件値が対象アップロード日時と等しい
データあり20対象値に何かしら記述されている(「データなし」の反対)
実行日基準(月単位)26対象日時が抽出実行日の前後一定期間の範囲(月単位)
実行日基準(日単位)29対象日時が抽出実行日の前後一定期間の範囲(日単位)
配信停止済み30条件値で指定したIDのメールアドレス項目が「登録解除リスト」に登録されている
配信停止していない31条件値で指定したIDのメールアドレス項目が「登録解除リスト」に登録されていないもしくは空
いずれかのアルバムに投稿がある32条件値で指定したIDのアルバムに対して1つでも画像投稿を行っている
いずれのアルバムにも投稿がない33条件値で指定したIDのアルバムに対して1つも画像投稿を行っていない
警告

「テキスト(暗号化)」項目を条件に指定することはできません。

各項目種別毎に使用できる「条件のとりかた」は以下の通りです。

項目種別指定可能な「条件のとりかた」値
会員ID1, 5, 9
テキスト1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
最終ホスト1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
最終REFERER1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
URL1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
パスワード(平文)1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
郵便番号1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
電話番号1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
メールアドレス1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 20
テキストエリア1, 3, 4, 5, 7, 8, 9, 10, 20
整数1, 5, 9, 10, 20
単一選択1, 5, 9, 10, 20
都道府県1, 5, 9, 10, 20
性別1, 5, 9, 10, 20
未既婚1, 5, 9, 10, 20
はい/いいえ1, 5, 9, 10, 20
日付1, 5, 9, 10, 20, 26, 29
登録日時1, 5, 9, 10, 20, 26, 29
更新日時1, 5, 9, 10, 20, 26, 29
一括処理日時1, 5, 9, 10, 20, 26, 29
複数選択1, 2, 5, 6, 9, 10, 13, 14, 15, 20
選択1, 11, 12
クリックカウントフラグ1, 5, 9, 13, 14
アップロード日時1, 10, 19, 20
参照元データベースのリレーション1, 13, 14
最終USER_AGENT1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20
パスワード(ハッシュ)1
自動採番1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20
登録解除リスト1, 30, 31
画像投稿の有無1, 32, 33
警告

「パスワード(ハッシュ)項目」は「(条件を指定しない)」しか指定できません。

「付加情報」も配列であり、何を指定するかは項目種別と「条件のとりかた」によって異なる。

IDの場合

キー
idsarray会員IDの配列array(1, 3, 5)

テキスト、URL、パスワード(平文)、郵便番号、電話番号、テキストエリア、最終ホスト、最終REFERER、自動採番の場合

キー
valuestring検索対象の文字列 (「条件を指定しない」から「含まない」まで)Abc

メールアドレスの場合

キー
valuestring検索対象の文字列 (「条件を指定しない」から「含まない」まで)abc
min_valueintエラー回数の下限 (「エラー回数」の場合)3
max_valueintエラー回数の上限 (「エラー回数」の場合)5
carriersarrayキャリアの配列 (「キャリア」の場合。 キャリアは以下のいずれか: other, docomo, au, softbank, vodafone, jphone, willcom, iphone)other, docomo, au, willcom
備考

iphone については @i.softbank.jp のアドレスが対象です。 @softbank.ne.jp は含まれません。

整数の場合

キー
min_valueint下限3
max_valueint上限5

単一選択、都道府県、性別、未既婚、はい/いいえの場合

キー
valuesarray選択肢IDの配列4, 5, 10

複数選択の場合

キー
optionsarray選択肢IDの配列 (「条件を指定しない」から「どれも含まない」まで)2, 7, 15
min_valueint選択した個数の下限 (「選択した個数」の場合)3
max_valueint選択した個数の上限 (「選択した個数」の場合)5

日付、登録日時、更新日時、一括処理日時の場合

キー範囲
start_datestring開始日付 (「条件を指定しない」から「含まない」まで)-2007-01-11
end_datestring終了日付 (「条件を指定しない」から「含まない」まで)-2007-12-31
calc_start_valueint抽出実行日の前後12ヵ月の範囲の開始月 (「実行日基準(月単位)」の場合)-12~12-2
calc_end_valueint抽出実行日の前後12ヵ月の範囲の終了月 (「実行日基準(月単位)」の場合)-12~1210
calc_ignore_yearbool項目に設定されている「年」の情報を無視し、calc_start_value および calc_end_value で指定した範囲の「月日」を抽出対象とする(「実行日基準(月単位)」の場合)-true
calc_day_start_valueint抽出実行日の前後30日の範囲の開始日 (「実行日基準(日単位)」の場合)-30~30-2
calc_day_end_valueint抽出実行日の前後30日の範囲の終了日 (「実行日基準(日単位)」の場合)-30~3010

クリックカウントフラグの場合

以下の付加情報を 1 セットとして配列に指定する。

キー
delivery_idint配信ID またはエージェント配信管理ID724
delivery_typeint1 … 通常配信の場合(固定値) 2 … エージェント配信の場合(固定値)1
valuesarrayクリックカウントIDの配列441, 445, 448

クリックカウントフラグ付加情報は以下配列として表現される。(PHP の記述方法で記載)

"clickcount_flag" => array(13, array(
array("delivery_id" => 40, "delivery_type" => 2, "values" => array(2582, 2583, 2584)),
array("delivery_id" => 920, "delivery_type" => 1, "values" => array(185, 188)),
)

アップロード日時の場合

キー
valuesarrayアップロード日時履歴 (UNIX タイムスタンプ)1212376393, 1212137705

選択の場合

なし。(実際には空の配列を返却する)

項目タイプ項目ID条件
登録日時12009年以降
メールアドレス4後方が"@example.com"に一致
単一選択61を選択
複数選択73か5を選択

上記の会員情報は以下の連想配列として表現される。(PHP の記述方法で記載)

array(
"title" => "単一選択に1を選択、複数選択に3か5を選択、ドメインが@tricorn.co.jp、2009年以降に登録",
"grouping" => true,
"conditions" => array(
"regist_date" => array(5, array("start_date" => "2009-01-01")),
"e_4" => array(4, array("value" => "@tricorn.co.jp")),
"e_6" => array(13, array(1)),
"e_7" => array(13, array(3, 5))
)
);

参照元データベースのリレーション属性を持つ項目の場合

なし。(実際には空の配列を設定する)

参照元データベースのリレーション属性項目を使った、参照先データベースの抽出条件は以下のような配列として表現される。

サンプルの項目は以下の通りと仮定する。

参照元データベース (リレーション属性を持つ項目があるデータベース)

  • "e_100": リレーション属性項目
  • "e_101": テキスト項目

参照先データベース

  • "e_200": 重複キー。
    • "e_100" のリレーションのため自動的に選択される。
  • "e_201": 単一選択項目

(PHP の記述方法で記載)

$conditions = array(
'e_100' => array(13, array()), // リレーション属性を持つ項目
'e_101' => array(2, array("value" => "商品1")), // 参照元データベース
'e_201' => array(5, array('values' => array(1))) // 参照先データベース
);
$condition_info = array(
"title" => "リレーションを使った抽出条件",
"grouping" => true,
"conditions" => $conditions
);

最終USER_AGENTの場合

キー
valuestring検索対象の文字列 (「条件を指定しない」から「含まない」まで)abc
carriersarrayキャリアの配列 (「キャリア」の場合。 キャリアは以下のいずれか: other, docomo,au,softbank,willcom,iphone,android) ※iOS、Android以外のスマートフォン、およびiPad等のタブレット端末は「other」で抽出されるother, docomo, au, willcom, iphone

画像投稿会員の場合

画像投稿の有無条件では、values配列に対象となるアルバムのIDを指定します。

キー
valuesarray画像投稿の有無を確認するアルバムの項目ID5, 10
備考

他のデータベースのアルバムを参照することはできません。

抽出例

{
"title": "アルバム5投稿済み会員抽出",
"grouping": true,
"conditions": {
"posted_image": [
32,
{
"values": [5]
}
]
}
}

List-Unsubscribed登録会員の場合

List-Unsubscribedに登録されている会員、または登録されていない会員を抽出できます。

values配列に対象となるメールアドレス項目のIDを指定します。

キー
valuesarray登録解除リストと照合するメールアドレス項目の項目ID5, 10

複数項目選択時の挙動

  • 登録済み(条件値30): いずれかの項目のメールアドレスが登録解除リストに登録されている会員を抽出(OR条件)
  • 未登録(条件値31): すべての項目のメールアドレスが登録解除リストに登録されていない会員を抽出(AND条件)

抽出例

{
"title": "登録解除済み会員抽出",
"grouping": true,
"conditions": {
"list_unsubscribe": [
30,
{
"values": [5]
}
]
}
}

サンプル

{
"title": "単一選択に1を選択、複数選択に3か5を選択、ドメインが@tricorn.co.jp、2009年以降に登録",
"grouping": true,
"conditions": {
"regist_date": [
5,
{
"start_date": "2009-01-01"
}
],
"e_4": [
4,
{
"value": "@tricorn.co.jp"
}
],
"e_6": [
13,
[1]
],
"e_7": [
13,
[3, 5]
]
}
}