データファイルレコード取得APIを実装したい

データファイルレコード取得APIとは

本APIの概要

データファイルレコード取得APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことで、b→dash上のデータファイルのレコードの値を取得することができるAPIです

貴社の基幹システム/アプリケーションから直接データファイルのレコードを取得したい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。

データファイルレコード取得APIはレコードを取得することはできますが、b→dashにデータを送信し新しくデータファイルを作成することはできません。新規にデータファイルを作成したい場合は「データファイル新規作成API(未リリース)」をご活用ください。

本APIで取得できるb→dash管理画面上のデータ

データファイルレコード取得APIでは、b→dash管理画面にある「データファイル詳細画面(以下キャプチャ)」における操作と同様に、カラムに対して条件指定を行うことでレコードを絞り込むことができます。

【データファイル詳細画面の例】

【データファイル詳細画面の例(絞り込み)】

本API利用にあたっての前提事項

事前準備

データファイルレコード取得APIを利用する事前準備として、b→dash管理画面上でレコードの値を取得したいデータファイルの「取込設定」を完了させておく必要があります

レコードを取得したいデータファイルの取込設定がまだ完了していない場合は
データファイルの取込方法」をご参照のもと、設定を完了させてください。

共通仕様

データファイルレコード取得APIでは、b→dash APIの共通仕様も参照する必要があります。共通仕様の詳細については「b→dash APIの共通仕様を知りたい」をご参照ください。

事前準備と共通仕様の確認ができましたら、データファイルレコード取得APIの利用方法について説明していきます!

データファイルレコード取得APIの仕様

処理フロー図

データファイルレコード取得APIの処理フロー図は以下になります。

レコード取得リクエスト

データファイルレコード取得APIのURIURIパラメータ/クエリパラメータを指定してレコード取得リクエストを行うためのリクエスト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
※上記URIは以下の条件の場合のサンプルとなります
datafile_id:12345
limit:10000
URIパラメータは、URIの「{xxx_xx}」に該当する値を代入することで指定することができます。また、クエリパラメータは以下の形式で指定することができます。
「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』:降順
※未指定の場合:昇順

 

レコード絞り込み条件と指定方法の一覧

データファイルレコード取得APIはカラムに対して条件指定を行うことで取得するレコードを絞り込みができます。本APIの開発で利用可能な「絞り込み条件」と「コードの指定方法」を下記にまとめておりますので、レコードの絞り込みを行う場合はご参照ください。

データ型 絞込み条件 抽出条件の定義 指定方法
テキスト型以外 NULL NULLを抽出する NL
NULLではない NULL以外を抽出する NN
テキスト 空文字 空文字を抽出する
※スペースは含まれない
BL
空文字ではない 空文字以外を抽出する NB
次を含む 指定した文字列を含む値を抽出する
※カンマ区切りで複数指定可能(OR条件)[現在未実装]
LK
次を含まない 指定した文字列を含まない値を抽出する
※カンマ区切りで複数指定可能(OR条件)[現在未実装]
NI
次で始まる 指定した文字列の前方一致で抽出する L%
次で終わる 指定した文字列の後方一致で抽出する %L
次に完全一致 指定した文字列の完全一致で抽出する EQ
次に完全一致しない 指定した文字列の完全不一致で抽出する NE
整数 次より大きい 指定した数値より大きい値を抽出する GT
以上 指定した数値以上の値を抽出する GE
次より小さい 指定した数値より小さい値を抽出する LT
以下 指定した数値以下の値を抽出する LE
次の値の間 指定した2つの数値の間にある値を抽出する
※指定した数値は含まれる
BW
次の値の間にない 指定した2つの数値の間にない値を抽出する
※指定した数値は含まれない
NW
次と等しい 指定した数値と等しい値を抽出する EQ
次と等しくない 指定した数値と等しくない値を抽出する NE
小数 次より大きい 指定した数値より大きい値を抽出する GT
以上 指定した数値以上の値を抽出する GE
次より小さい 指定した数値より小さい値を抽出する LT
以下 指定した数値以下の値を抽出する LE
次の値の間 指定した2つの数値の間にある値を抽出する
※指定した数値は含まれる
BW
次の値の間にない 指定した2つの数値の間にない値を抽出する
※指定した数値は含まれない
NW
次と等しい 指定した数値と等しい値を抽出する EQ
次と等しくない 指定した数値と等しくない値を抽出する NE
日付 次より前の日付 指定した日付より前の日付を抽出する
※フォーマット:「yyyyMMdd」で指定する
LT
次より後の日付 指定した日付より後の日付を抽出する
※yyyyMMdd形式
GT
次の日付 指定した日付と一致する日付を抽出する
※yyyyMMdd形式
EQ
次の期間にある 指定した2つの日付の間にある日付を抽出する
※指定した日付は含まれる
※yyyyMMdd形式
BW
次の期間にない 指定した2つの日付の間にない日付を抽出する
※指定した日付は含まれない
※yyyyMMdd形式
NW
日時 次より前の日付 指定した日付より前の日付を抽出する
※yyyyMMddhh24miss形式
LT
次より後の日付 指定した日付より後の日付を抽出する
※yyyyMMddhh24miss形式
GT
日付 指定した日付と一致する日付を抽出する
※yyyyMMddhh24miss形式
EQ
次の期間にある 指定した2つの日付の間にある日付を抽出する
※指定した日付は含まれる
※yyyyMMddhh24miss形式
BW
次の期間にない 指定した2つの日付の間にない日付を抽出する
※指定した日付は含まれない
※yyyyMMddhh24miss形式
NW
真偽値 TRUE 「true」を抽出する T
FALSE 「false」を抽出する F

【リクエストボディサンプル

{ 
  "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}件数を取得する
1万件以上のレコードを取得したい

データファイルレコード取得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" 
      } 
    ] 
  } 
}