目次
セグメント条件更新APIとは
本APIの概要
セグメント条件更新APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことで、b→dash管理画面を介さずに、「セグメント」アプリ上のセグメント用データに対して、「絞り込み条件」や「更新条件」を変更/更新することができるAPIです。
貴社の基幹システム/アプリケーションに連携したセグメント更新を行いたい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。
セグメント条件更新APIが更新できるセグメント用データは「単一セグメント」で作成したセグメントのみになります。
「複合セグメント」で作成したセグメントの条件更新を行いたい場合は、複合セグメントを作成する際に「ベースセグメント」「追加セグメント」として選択した単一セグメントを本APIの対象としてご利用ください。
本APIで更新できるb→dash管理画面上のデータ
b→dash管理画面と同等の操作
セグメント条件更新APIでは、b→dash管理画面にある「セグメント編集画面(以下キャプチャ)」における操作と同様に、カラムに対して条件指定を行うことでレコードを絞り込むことができます。
※複合セグメントの場合は、「編集」をクリックしても下記の編集画面に遷移しません
複合セグメント作成時に「ベースセグメント」「追加セグメント」として選択した単一セグメントの編集画面をご参照ください
セグメント編集画面
「特定のデータファイルの値を抽出条件に用いる」機能については、こちらの記載をご参照ください。
b→dash管理画面上の更新結果確認方法
セグメント条件更新APIを利用した結果は以下のb→dash管理画面(「セグメント一覧画面」「セグメント詳細画面(データファイル利用状況モーダル)」)で確認することができます。
セグメント一覧画面
データパレット詳細画面(データファイル利用状況モーダル)
本API利用にあたっての前提事項
事前準備
セグメント条件更新APIを利用する事前準備として「セグメント用データの作成」「参照データファイルの取込設定」「セグメント利用施策の運用停止」の3つの手順を踏む必要があります。
セグメント用データの作成
b→dash管理画面上で更新対象となるセグメント用データを作成する必要があります。
セグメントアプリ上でセグメント用データの作成がまだ完了していない場合は「セグメントを作成したい」をご参照の上、設定を完了させてください。
参照データファイルの取込設定
本APIの利用でセグメントの「更新条件」を変更する場合、セグメント用データを作成する際に参照したデータファイルのデータファイル取込設定が「定期更新設定する」を選択している必要があります。
データファイル取込設定をもう一度見直したい場合は、
「データファイルの取込履歴の確認方法」「データファイルの取込履歴の編集方法」をご参照の上、設定を完了させてください。
セグメント利用施策の運用停止
本APIの利用でセグメントの「絞り込み条件」を変更する場合、更新するセグメントを利用している施策(メールアプリ、データ分析など)の運用を停止する必要があります。
更新したいセグメントがどの施策で利用されているか、利用している施策が「運用中」であるかは、下記の「利用状況モーダル」で確認できます。必要に応じて施策を運用停止し、利用状況モーダルのステータスを「運用停止」または「運用終了」にしてください。
利用状況モーダル(運用停止操作の必要がある場合)の例
各施策の運用停止画面の例
共通仕様
セグメント条件更新APIでは、b→dash APIの共通仕様も参照する必要があります。共通仕様の詳細については「b→dash APIの共通仕様を知りたい」をご参照ください。
セグメント条件更新APIの仕様
処理フロー図
セグメント条件更新APIの処理フロー図は以下になります。
セグメント条件更新リクエスト
セグメント条件更新APIのURIにURIパラメータを指定してデータ連携をリクエストするリクエストURIを準備します
〇セグメント条件更新APIのURI
URI | https://api.smart-bdash.com/api/v1/segments/{segment_id} |
〇URIパラメータ
プロパティ |
データ型
/サイズ |
必須 | 値 | 説明 |
segment_id |
string
/255byte |
○ | {セグメントID} | 更新するセグメントのID |
【リクエストURIサンプル】
https://api.smart-bdash.com/api/v1/segments/10
segment_id:10
json形式のファイル(拡張子:.json)にリクエストボディパラメータを指定して、セグメントの更新内容を送信するためのリクエストボディを準備します
〇リクエストボディパラメータ
プロパティ |
データ型
/サイズ |
必須 | 説明 |
segment_conditions |
object /153400byte |
- | セグメント条件 |
condition_or |
object[] /153400byte |
- |
OR条件のブロック
※ORブロックは最大10個まで設定可 |
condition |
object[] /15340byte |
- |
AND条件のブロック
※1つのORブロック内で最大20個まで設定可 |
column_id |
string /255byte |
○ |
データファイル上でのカラムのID
※「condition」の指定がある場合、必須 |
condition_name |
string /2byte |
○ |
条件指定
※詳細は下記「レコード絞り込み条件と指定方法の一覧」をご参照ください ※「condition」の指定がある場合、必須 |
condition_value |
object /510byte |
△ |
条件値
※条件指定が「BL」、「NB」、「NL」、「NN」、「T」、「F」以外の場合は必須 |
value |
string /255byte |
△ |
条件の値
※条件指定が「BW」、「NW」以外の場合は必須 |
from |
string /255byte |
△ |
範囲/期間指定の条件の開始値
※条件指定が「BW」、「NW」の場合は必須 |
to |
string /255byte |
△ |
範囲/期間指定の条件の終了値
※条件指定が「BW」、「NW」の場合は必須 |
aggregation_
timing_settings |
object /480byte |
- | 集計タイミング設定 |
regular_update_
settings |
object[] /480byte |
- |
定期更新設定
※20要素まで設定可能 |
interval |
string /8byte |
○ |
更新間隔
▽指定値は以下3通り ・『MONTHLY』:毎月 ・『WEEKLY』:毎週 ・『DAILY』:毎日 |
day |
integer($int32) /2byte |
△ |
更新日
※「更新間隔」が「MONTHLY」の場合は必須 ▽以下の範囲から選択する ・1~31 |
hour |
string /3byte |
△ |
更新曜日
※「更新間隔」が「WEEKLY」の場合は必須 ▽指定値は以下7通り ・『MON』:月曜日 ・『TUE』:火曜日 ・『WED』:水曜日 ・『THU』:木曜日 ・『FRI』:金曜日 ・『SAT』:土曜日 ・『SUN』:日曜日 |
minute |
integer($int32) /2byte |
○ |
更新時
▽指定値は以下の範囲内 ・0~23 |
is_linked_to_
datafile_update |
integer($int32) /2byte |
○ |
更新分
▽指定値は以下の範囲内 ・0/15/30/45 |
name |
boolean /5byte |
○ |
データファイル更新のタイミングでセグメント抽出を行うか
▽指定値は以下の2通り ・『true』:行う ・『false』:行わない |
name |
string /255byte |
セグメントの名称変更を行う場合に変更する値を指定する
※プロパティの指定がない場合は、元の名称のままとする |
【リクエストボディサンプル】
{
"segment_conditions": {
"condition_or": [
{
"condition": [
{
"column_id": "COLUMN_1",
"condition_name": "EQ",
"condition_value": {
"value": "vwxyz"
}
},
{
"column_id": "COLUMN_2",
"condition_name": "BW",
"condition_value": {
"from": "20220101",
"to": "20221231235959"
}
},
{
"column_id": "COLUMN_3",
"condition_name": "NW",
"condition_value": {
"from": "20220101000000",
"to": "20221231235959"
}
},
{
"column_id": "COLUMN_4",
"condition_name": "T"
}
]
}
]
},
"aggregation_timing_settings": {
"regular_update_settings": [
{
"interval": "MONTHLY",
"day": 31,
"hour": 23,
"minute": 0
},
{
"interval": "WEEKLY",
"day_of_the_week": "FRI",
"hour": 23,
"minute": 0
}
],
"is_linked_to_datafile_update": true,
"name": "更新後セグメント名称"
}
}
準備したリクエストURI/リクエストボディと、下記のリクエストヘッダパラメータを用いて、貴社Webアプリから「PUT」リクエスト形式でセグメント条件更新のリクエストをします
〇リクエスト形式
HTTPメソッド | PUT |
〇リクエストヘッダパラメータ
プロパティ |
型
/サイズ |
必須 | 値 | 説明 |
Authorization |
string
/2055字 |
◯ | Bearer {アクセストークン} | 「認証方式を選択したい」で取得したアクセストークン |
【リクエストコードサンプル】
PUT https://api.smart-bdash.com/api/v1/segments/10
セグメント条件更新レスポンス
リクエストの送信に成功すると、下記のレスポンス形式でセグメント条件更新APIからレスポンスが返されます
〇レスポンスボディパラメータ
パラメータ名 | Key | データ型 | 説明 |
階層1:result | object | - | |
階層2:code | integer($int32) |
●ステータスコード
・リクエスト成功:「202」 ・リクエストエラー:「400」 |
〇リクエストエラー発生時のエラーメッセージ詳細
# | コード | エラーメッセージ | 説明 |
1 | 400 |
リクエストヘッダ「Range」には
10,000行以内でリクエスト開始行数と リクエスト終了行数を指定してください |
リクエストヘッダ「Range」の指定が10,000行数を超過した |
2 | 400 |
condition_nameに
「{condition_name}」を指定時は、 condition_value.valueを指定してください |
条件指定に「BL」「NB」「NL」「NN」「BW」「NW」「T」「F」以外を指定時にvalueが未指定 |
3 | 400 |
condition_nameに
「{condition_name}」を指定時は、 condition_value.fromを指定してください |
条件指定に「BW」「NW」を指定時にfromが未指定 |
4 | 400 |
condition_nameに
「{condition_name}」を指定時は、 condition_value.toを指定してください |
条件指定に「BW」「NW」を指定時にtoが未指定 |
5 | 400 |
{sort_order}には以下のいずれかを
指定してください asc/ desc |
ソート対象のカラムのID指定時にソート 方法に不正な文字列が指定された |
6 | 400 | limitには1~10,000を指定してください | 最大取得件数に範囲外の値が指定された |
7 | 400 |
データファイル「{datafile_id}」
カラム「{column_id}」が存在しません |
検索対象のカラムのIDに指定したカラムがデータファイルに存在しない |
8 | 400 |
データファイル「{datafile_id}」に
カラム「{column_id}」が存在しません |
ソート対象のカラムのIDに指定したカラムがデータファイルに存在しない |
9 | 400 |
テキスト型のカラム「{column_id}」の{condition_name}には
以下のいずれかを指定してください BL/ NB/ LK/ NI/ L%/ %L/ EQ/ NE |
テキスト型カラムの条件指定に不正な文字列が指定された |
10 | 400 |
整数型のカラム「{column_id}」の
{condition_name}には以下を指定してください GT/ GE/ LT/ LE/ BW/ NW/ EQ/ NE/ NL/ NN |
整数型カラムの条件指定に不正な文字列が指定された |
11 | 400 |
小数型のカラム「{column_id}」の
{condition_name}には以下を指定してください GT/ GE/ LT/ LE/ BW/ NW/ EQ/ NE/ NL/ NN |
小数型カラムの条件指定に不正な文字列が指定された |
12 | 400 |
日付型のカラム「{column_id}」の
{condition_name}には以下を指定してください LT /GT /EQ /BW /NW /NL /NN |
日付型カラムの条件指定に不正な文字列が指定された |
13 | 400 |
日時型のカラム「{column_id}」の
{condition_name}には 以下を指定してください。 LT /GT /EQ /BW /NW /NL /NN |
日時型カラムの条件指定に不正な文字列が指定された |
14 | 400 |
真偽値型のカラム「{column_id}」の
{condition_name}には以下を 指定してください T/ F/ NL/ NN |
真偽値型カラムの条件指定に不正な文字列が指定された |
15 | 400 |
整数型のカラム「{column_id}」の
{value}には整数に変換可能な文字列を 指定してください |
条件指定が未指定、または「NL」「NN」「BW」「NW」以外を指定時に整数 型カラムの条件の値に整数型以外が指定された |
16 | 400 |
整数型のカラム「{column_id}」の
{from}には整数に変換可能な文字列を 指定してください |
条件指定に「BW」「NW」を指定時に整数型カラムの条件の開始値に整数型以外が指定された |
17 | 400 |
整数型のカラム「{column_id}」の
{to}には整数に変換可能な文字列を 指定してください |
条件指定に「BW」「NW」を指定時に整数型カラムの条件の終了値に整数型以外が指定された |
18 | 400 |
小数型のカラム「{column_id}」の
{value}には小数に変換可能な文字列を 指定してください。 |
条件指定が未指定、または「NL」「NN」「BW」「NW」以外を指定時に小数型カラムの条件の値に小数型以外が指定された |
19 | 400 |
小数型のカラム「{column_id}」の{from}には
小数に変換可能な文字列を指定してください |
条件指定に「BW」「NW」を指定時に小数型カラムの条件の開始値に小数型以外が指定された |
20 | 400 |
小数型のカラム「{column_id}」の
{to}には小数に変換可能な文字列を 指定してください |
条件指定に「BW」「NW」を指定時に小数型カラムの条件の終了値に小数型以外が指定された |
21 | 400 |
日付型のカラム「{column_id}」の
{value}には以下の形式で文字列を 指定してください 形式:yyyyMMdd |
条件指定が未指定、または「NL」「NN」「BW」「NW」以外を指定時に日付型カラムの条件の値に日付型以外が指定された |
22 | 400 |
日付型のカラム「{column_id}」の
{from}には以下の形式で文字列を 指定してください 形式:yyyyMMdd |
条件指定に「BW」「NW」を指定時に日付型カラムの条件の開始値に日付型以外が指定された |
23 | 400 |
日付型のカラム「{column_id}」の
{to}には以下の形式で文字列を 指定してください 形式:yyyyMMdd |
条件指定に「BW」、「NW」を指定時に日付型カラムの条件の終了値に日付型以外が指定された |
24 | 400 |
日時型のカラム「{column_id}」の
{value}には以下の形式で文字列を 指定してください 形式:yyyyMMddhh24miss |
条件指定が未指定、または「NL」「NN」「BW」「NW」以外を指定時に日時型カラムの条件の値に日時型以外が指定された |
25 | 400 |
日時型のカラム「{column_id}」の
{from}には以下の形式で文字列を 指定してください 形式:yyyyMMddhh24miss |
条件指定に「BW」「NW」を指定時に日時型カラムの条件の開始値に日時型以外が指定された |
26 | 400 |
日時型のカラム「{column_id}」の
{to}には以下の形式で文字列を 指定してください 形式:yyyyMMddhh24miss |
条件指定に「BW」「NW」を指定時に日時型カラムの条件の終了値に日時型以外が指定された |
27 | 400 |
「query_condition.condition_or
.condition.column_id」が存在しません 「query_condition」指定時には「column_id」を 指定してください |
検索条件のカラムが未指定 |
28 | 400 |
「sort_condition.condition.column_id」が
存在しません。 「sort_condition」指定時には「column_id」を 指定してください。 |
ソート条件のカラムが未指定 |
【レスポンスボディサンプル(成功レスポンス(202))】
{
"result": {
"code": 202,
}
}