目次
データファイルレコード取得APIとは
本APIの概要
データファイルレコード取得APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことで、b→dash上のデータファイルのレコードの値を取得することができるAPIです。
貴社の基幹システム/アプリケーションから直接データファイルのレコードを取得したい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。
本APIで取得できるb→dash管理画面上のデータ
データファイルレコード取得APIでは、b→dash管理画面にある「データファイル詳細画面(以下キャプチャ)」における操作と同様に、カラムに対して条件指定を行うことでレコードを絞り込むことができます。
【データファイル詳細画面の例】
【データファイル詳細画面の例(絞り込み)】
本API利用にあたっての前提事項
事前準備
データファイルレコード取得APIを利用する事前準備として、b→dash管理画面上でレコードの値を取得したいデータファイルの「取込設定」を完了させておく必要があります。
レコードを取得したいデータファイルの取込設定がまだ完了していない場合は
「データファイルの取込方法」をご参照のもと、設定を完了させてください。
共通仕様
データファイルレコード取得APIでは、b→dash APIの共通仕様も参照する必要があります。共通仕様の詳細については「b→dash APIの共通仕様を知りたい」をご参照ください。
データファイルレコード取得APIの仕様
処理フロー図
データファイルレコード取得APIの処理フロー図は以下になります。
レコード取得リクエスト
データファイルレコード取得APIのURIにURIパラメータ/クエリパラメータを指定してレコード取得リクエストを行うためのリクエストURIを準備します
〇データファイルレコード取得APIのURI
URI | https://api.smart-bdash.com/api/v1/datafiles/{datafile_id}/records |
〇URIパラメータ
プロパティ |
データ型
/サイズ |
必須 | 値 | 説明 |
datafile_id |
string
/255byte |
○ | {データファイルID} | レコードを取得したいデータファイルのID |
〇クエリパラメータ
プロパティ |
データ型
/サイズ |
必須 | 値 | 説明 |
limit |
string
/5byte |
- | 1~10000 |
レコードの最大取得件数
※最大10000レコード ※未指定:10000レコード |
【リクエストURIサンプル】
https://api.smart-bdash.com/api/v1/datafiles/12345/records?limit=10000
datafile_id:12345
limit:10000
「https://api.smart-bdash.com?<属性>=<値>&<属性>=<値>」
json形式のファイル(拡張子:.json)に取得したいレコードの情報を送信するためのリクエストボディを準備します
〇リクエストボディパラメータ
プロパティ |
データ型
/サイズ |
必須 | 説明 |
query_condition |
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」の場合は必須 |
sort_condition |
object
/2590byte |
- | ソート条件 |
condition |
object[]
/2590byte |
- |
ソート条件のブロック
※最大10個まで設定可能 |
column_id |
string
/255byte |
△ |
ソート対象のデータファイル上でのカラムのID
※「condition」の指定がある場合必須 |
sort_order |
string
/4byte |
- |
ソート方法
▽以下2通り ・『asc』:昇順 ・『desc』:降順 ※未指定の場合:昇順 |
【リクエストボディサンプル】
{
"query_condition": {
"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": "20221231"
}
},
{
"column_id": "COLUMN_3",
"condition_name": "NW",
"condition_value": {
"from": "20220101000000",
"to": "20221231235959"
}
},
{
"column_id": "COLUMN_4",
"condition_name": "T"
}
]
}
]
},
"sort_condition": {
"condition": [
{
"column_id": "COLUMN_5",
"sort_order": "desc"
},
{
"column_id": "COLUMN_6",
"sort_order": "asc"
}
]
}
}
※上記コードは以下の条件の場合のサンプルとなります
検索対象データファイルID:12345
検索条件1:カラム「COLUMN_1」の値が「vwxyz」に完全一致する
検索条件2:カラム「COLUMN_2」の値が「20220101」と「20221231」の間
検索条件3:カラム「COLUMN_3」の値が「20220101000000」と「20221231235959」の間にない
検索条件4:カラム「COLUMN_4」の値がtrue
ソート条件1:カラム「COLUMN_5」で降順ソートする
ソート条件2:カラム「COLUMN_6」で昇順ソートする
最大取得件数:10000件
準備したリクエストURI/リクエストボディと、下記のリクエストヘッダパラメータを用いて、貴社Webアプリから「GET」リクエスト形式でレコード取得リクエストをします
〇リクエスト形式
HTTPメソッド | GET |
〇リクエストヘッダパラメータ
プロパティ |
型
/サイズ |
必須 | 値 | 説明 |
Authorization |
string
/2055字 |
◯ | Bearer {アクセストークン} | 「認証方式を選択したい」で取得したアクセストークン |
Range |
string
/255字 |
- | {リクエスト開始行数}-{リクエスト終了行数} |
レコードを取得する範囲
※未指定:先頭レコードから{limit}件数を取得する |
データファイルレコード取得APIは1度の呼び出しで最大1万件のレコードを取得することができますが、1万件以上のレコードを取得したい場合は本APIを2回呼び出す必要があります。
2回目以降のAPIの呼び出しはデータファイルから任意のレコードを指定できる「Range」パラメータを利用して1万件以降のレコードを指定してください。
例えば2万件のレコードを取得したい場合は、一回目のAPIの呼び出しで1-10000番目のレコードを取得し、2回目のAPIの呼び出しで10001番目-20000番目のレコードを「Range」パラメータで指定・取得する必要があります。
【リクエストコードサンプル】
GET https://api.smart-bdash.com/api/v1/datafiles/12345/records?limit=10000
レコード取得レスポンス
リクエストの送信に成功すると、下記のレスポンス形式でデータファイルレコード取得APIからレスポンスが返されます
〇レスポンスボディパラメータ
パラメータ名 | Key | データ型 | 説明 |
Content-Type | string |
レスポンス形式
application/json charset=UTF-8 ※b→dashAPI共通仕様 |
|
Content-Range | string |
リクエスト範囲
{リクエスト開始行数}-{リクエスト終了行数}/{合計件数} |
〇リクエストエラー発生時のエラーメッセージ詳細
# | コード | エラーメッセージ | 説明 |
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」を 指定してください。 |
ソート条件のカラムが未指定 |
【レスポンスボディサンプル】
{
"result": {
"code": 200,
"header_info": [
{
"column_id": "COLUMN_1",
"column_name": "カラムA",
"data_type": "string"
},
{
"column_id": "COLUMN_2",
"column_name": "カラムB",
"data_type": "bigint"
},
{
"column_id": "COLUMN_3",
"column_name": "カラムC",
"data_type": "datetime"
}
],
"records": [
{
"COLUMN_1": "abc",
"COLUMN_2":"12345",
"COLUMN_3":"2020/01/01 00:00:00"
},
{
"COLUMN_1": "pqr",
"COLUMN_2": null,
"COLUMN_3": null
},
{
"COLUMN_1": "xyz",
"COLUMN_2":"67890",
"COLUMN_3":"2025/12/31 23:59:59"
}
]
}
}