目次
データファイル更新APIとは
本APIの概要
データファイル更新APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことでb→dash管理画面を介さずにデータファイル更新を行うことができるAPIです。
貴社の基幹システム/アプリケーションに連携したデータファイル更新を行いたい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。
データファイル更新APIが更新できるデータファイルは「基幹システム連携」「API連携」「ローカルデータアップロード」を利用して作成した連携データファイルのみです。
作成した連携データファイルに対してクレンジング処理を行った加工データファイルや、統合処理を行った統合データファイル、webアクセスログデータファイルなどのb→dashが定義したb→dashデータファイルの3つのデータファイルには本APIを利用することができません。
本APIで更新できるb→dash管理画面上のデータ
b→dash管理画面上の更新結果確認方法
データファイル更新APIは、貴社の基幹システム/アプリケーションのリクエストによりデータパレットアプリのデータファイル更新機能を起動させることでb→dash上のデータファイルを更新します。
データファイル更新APIを利用した結果は以下のb→dash管理画面(「データファイル一覧画面」「データファイル詳細画面」)で確認することができます。
データファイル一覧画面の例
データファイル詳細画面の例
API利用にあたっての前提事項
事前準備
データファイル更新APIを利用する事前準備として、b→dash管理画面上で更新したいデータファイルの「取込設定」を完了させておく必要があります。
更新したいデータファイルが「新規で取り込むデータファイル」で、取込設定がまだ完了していない場合は「データファイルの取込方法」をご参照の上、設定を完了させてください。
更新したいデータファイルが「取込済みデータファイル」で、取込設定をもう一度見直したい場合は「データファイルの取込履歴の確認方法」と「データファイルの取込履歴の編集方法」をご参照の上、設定を完了させてください。
共通仕様
データファイル更新APIでは、b→dash APIの共通仕様も参照する必要があります。
『リクエスト上限数』や『全体サイズ上限』といった共通仕様の詳細については、「b→dash APIの共通仕様を知りたい」をご参照ください。
データファイル更新APIの仕様
処理フロー図
データファイル更新APIの処理フロー図は以下になります。
※グレーアウトしているAPIはデータファイル更新APIと関連する別b→dash API(データファイル更新結果取得API)です
データファイル更新リクエスト
データファイル更新APIのURIにURIパラメータを指定してデータ連携をリクエストするリクエストURIを準備します
〇データファイル更新APIのURI
URI | https://api.smart-bdash.com/api/v1/datafiles/{datafile_id} |
〇URIパラメータ
プロパティ |
データ型
/サイズ |
必須 | 値 | 説明 |
datafile_id |
string
/255byte |
○ | {データファイルID} | 更新したいデータファイルのID |
【リクエストURIサンプル】
https://api.smart-bdash.com/api/v1/datafiles/191
datafile_id:191
json形式のファイル(拡張子:.json)にリクエストボディパラメータを指定して、データファイルの更新内容を送信するためのリクエストボディを準備します
〇リクエストボディパラメータ
プロパティ |
データ型
/サイズ |
必須 | 値 | 説明 |
action_type |
integer
($int32) /255byte |
◯ | 0, 1, 2 |
更新方法の指定
▽以下3通り ・『0』:データファイル「更新設定」通りに更新する ・『1』:常に上書き更新する ・『2』:常に洗い替え更新する |
data_type |
string
/5byte |
- | json, array |
data属性の書き方の指定
▽以下2通り ・『json』:JSON配列 ・『array』:二次元配列 ※指定しない場合:JSON配列 |
data |
object[]
/1MB (data属性が jsonの場合) string[][] /1MB (data属性が arrayの場合) |
◯ | - | 更新するデータファイルのレコード内容を記述する |
【リクエストボディサンプル(JSONの配列の場合)】
{
"action_type": 0,
"data_type": "json",
"data": [
{"COLUMN_1": "aaa", "COLUMN_2": "bbb"},
{"COLUMN_1": "ccc", "COLUMN_2": "ddd"}
]
}
※上記コードは以下の条件の場合のサンプルとなります
data_type:json
【リクエストボディサンプル(二次元配列の場合)】
{
"action_type": 0,
"data_type": "array",
"data": [
["COLUMN_1", "COLUMN_2"],
["aaa", "bbb"],
["ccc", "ddd"]
]
}
※上記コードは以下の条件の場合のサンプルとなります
data_type:array
準備したリクエストURI/リクエストボディと、下記のリクエストヘッダパラメータを用いて、貴社Webアプリから「POST」リクエスト形式でデータファイル更新のリクエストをします
〇リクエスト形式
HTTPメソッド | POST |
〇リクエストヘッダパラメータ
プロパティ |
型
/サイズ |
必須 | 値 | 説明 |
Authorization |
string
/2055文字 |
◯ | Bearer {アクセストークン} | 「認証方式を選択したい」で取得したアクセストークン |
Content-Type |
string
/固定値 |
◯ | application/json; charset=UTF-8 | 固定値 |
【リクエストコードサンプル】
POST https://sandbox-api.bdash.works/api/v1/datafiles/191
データファイル更新受付レスポンス
リクエストの送信に成功すると、下記のレスポンス形式でデータファイル更新APIからレスポンスが返されます
〇レスポンスボディパラメータ
パラメータ名 | Key | データ型 | 説明 |
階層1:result | object | - | |
階層2:code | integer($int32) |
●ステータスコード
・リクエスト成功:「202」 ・リクエストエラー:「400」 |
|
階層2:process_code | string |
●処理コード
※データファイル更新結果取得APIリクエスト時に使用する ※GUIDのような一意な値を採番すること |
〇リクエストエラー発生時のエラーメッセージ詳細
# | コード | エラーメッセージ | 説明 |
1 | 400 | "datafile_id" does not exist. | 指定したデータファイルが無い |
2 | 400 | The data is larger than the maximum size permitted. |
データのサイズが超えている
※「データファイル更新API」の1リクエストあたりの上限は以下の通りです ・レコード数の上限 :300レコード ・データサイズの上限:3MB |
3 | 400 | "datafile_id" does not set. | 指定したデータファイル設定が未設定 |
4 | 400 | "datafile_id" does not master datafile. | 指定したデータファイルがマスタデータファイル以外 |
5 | 400 | Specify one of the following "json" or "array" for "data_type". | data_typeに不正な文字列が指定された |
6 | 400 | Describe "data" in json array format when "data_type" is specified "json". | data_typeに「json」指定時に、dataがJSONの配列形式で記述されていない |
7 | 400 | Describe "data" in 2d array format when "data_type" is specified "array". | data_typeに「array」指定時に、dataが二次元配列形式で記述されていない |
8 | 400 | "Data" requires the same column definition for all records. | data内の全レコードでカラム定義が統一されていない |
9 | 400 | Include "action_type" property. | 「action_type」が未指定 |
10 | 400 | Include "data" property. | 「data」が未指定 |
【レスポンスボディサンプル(成功レスポンス(202))】
{
"result": {
"code": 202,
"process_code": "9924502028"
}
}
データファイル更新処理の結果をAPIで確認したい場合は、「データファイル更新結果取得API」を併せてご活用ください。
共通設定でデータパレットのエラー通知設定を稼働させていれば、データファイル更新APIを利用したデータファイル更新の場合もエラー通知を受け取ることができます。
通知媒体:「メール」「slack」「b→dash画面上」
通知内容:「更新開始」「更新終了」「遅延」「エラー」
データファイルのエラー通知設定の詳細は「データパレットにおけるエラー通知について」をご参照ください。
1つのデータファイルに対して、本APIのリクエストとその他のリクエスト(その他APIのリクエストや、貴社の基幹システム/アプリケーションからのリクエストなど)が重複した場合、データファイル更新APIは先に実行されているリクエストの処理が終了してから、本APIのリクエストの処理を実行します。