データファイル更新結果取得APIを実装したい

データファイル更新結果取得APIとは

本APIの概要

データファイル更新結果取得APIとは、「データファイル更新API」にて起動されたデータファイル更新処理の結果を返すAPIです

貴社の基幹システム/アプリケーションが「データファイル更新API」または「一括データファイル更新API」を実装しており、データファイル更新処理の結果をAPIで取得したい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。

データファイル更新APIについては「データファイル更新APIを実装したい」をご参照ください。

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

事前準備

データファイル更新結果取得APIを利用する事前準備として、本APIのリクエストを行う前に(一括)データファイル更新APIによってデータファイル更新リクエストが送信されており、データファイル更新リクエストに対してエラーステータスが返されていない必要があります

データファイル更新リクエストを行っていない状態、あるいはエラーステータスが返されている状態で本APIを起動すると正常なデータ更新処理結果を出力できないためご注意ください

共通仕様

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

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

データファイル更新結果取得APIの仕様

処理フロー図

データファイル更新結果取得APIの処理フロー図は以下になります。
※グレーアウトしているAPIはデータファイル更新結果取得APIと関連する別b→dash API(データファイル更新API)です

データファイル更新処理結果取得リクエスト

データファイル更新結果取得APIのURIURIパラメータを指定してデータ連携をリクエストするリクエストURIを準備します

〇データファイル更新結果取得APIのURI

URI https://api.smart-bdash.com/api/v1/data_import/{process_code}/result

〇URIパラメータ

プロパティ データ型
/サイズ
必須 説明
process_code string
/255byte
{処理コード} 一括/個別データファイル更新APIのデータ更新受付レスポンスに含まれている処理コード

【リクエストURIサンプル

https://api.smart-bdash.com/api/v1/data_import/9924502028/result
※上記URIは以下の条件の場合のサンプルとなります
データファイルID:9924502028
URIパラメータは、URIの「{xxx_xx}」に該当する値を代入することで指定することができます。
準備したリクエストURIと、下記のリクエストヘッダパラメータを用いて、貴社Webアプリから「GET」リクエスト形式でデータファイル更新のリクエストをします

〇リクエスト形式

HTTPメソッド GET

〇リクエストヘッダパラメータ

プロパティ
/サイズ
必須 説明
Authorization string
/2055字
Bearer {アクセストークン} 「認証方式を選択したい」で取得したアクセストークン

リクエストコードサンプル

GET https://api.smart-bdash.com/api/v1/data_import/9924502028/result

データファイル更新処理結果取得レスポンス

リクエストの送信に成功すると、下記のレスポンス形式でデータファイル更新処理結果のレスポンスが返されます

〇レスポンスボディパラメータ

パラメータ名 データ型 説明
階層1:result object -
階層2:code integer($int32) ●ステータスコード
・リクエスト成功:「200」
・リクエストエラー:「400」
階層2:data_import_result object ●データファイル更新処理の結果
階層3:status string ● データファイルの更新処理ステータス
・データファイル更新処理中:「processing」
・データファイル更新処理が完了:「ok」
・ [取込エラー]データファイル更新処理が完了
 または中止:「ok_skip」「ok_null」「error」
 ※データファイル更新設定によって異なる
階層3:errors object[] ●取込エラーの配列
※取込エラーがある場合のみ
階層4:message string ●エラーメッセージ
※リクエストエラー/取込エラーがある場合のみ
※データファイル更新設定によって異なる

〇取込エラー発生時のステータス/エラーメッセージ詳細

# 更新対象の
データファイル
取込設定
ステータス
コード
ステータス エラーメッセージ 説明
1 [取込エラー時]
エラーが含まれる行を削除する
200 ok_skip Data import process succeeded. But {skipped record count} records has skipped because contained any errores. エラーが含まれる行を削除して、
データファイル更新処理が完了した
2 [取込エラー時]
エラーとなったせるをNullに変換する
200 ok_null Data import process succeeded. But {null_count} records has replaced some columns with null value because contained any errors. エラーとなったセルをNullに変換して、
データファイル更新処理が完了した
3 [取込エラー時]
ファイルの取込を中止する
200 error {record_id} {column_id} {column_name}
:Overflow {data_type} value.
カラムの文字長を超えたデータが連携されたため、
データファイルの更新処理を中止した
4 [取込エラー時]
ファイルの取込を中止する
200 error {record_id} {column_id} {column_name}
:Mismatch data type of {data_type} value.
カラムのデータ型が一致しないため、
データファイルの更新処理を中止した
5 [取込エラー時]
ファイルの取込を中止する
200 error {record_id}:Mismatch number of columns.
※今後、以下のように拡張予定です。 {record_id}{column_id} {column_name}:Mismatch number of columns.
カラムの数が一致しないため、
データファイルの更新処理を中止した
6 [取込エラー時]
ファイルの取込を中止する
200 error {record_id} {column_id} {column_name} :Key column is null. 主キーがnullのため、
データファイルの更新処理を中止した
7 [取込エラー時]
ファイルの取込を中止する
200 error {record_id} {column_id} {column_name} :Error occurred. その他のエラーが発生したため、
データファイルの更新処理を中止した
エラーメッセージで使用されている{変数}一覧

上記エラーメッセージで使用されている{変数}の説明を以下に記載します。

# 項目名 意味
1 record_id レコードID
※連携データ内の行数を指す(ヘッダーを含む)
2 column_id カラムID(物理名)
3 column_name カラム名(論理名)
4 data_type データ型

○リクエストエラー発生時のエラーメッセージ詳細

# ステータス
コード
ステータス メッセージ 説明
1 400 - URIパラメータに指定された処理コード「{process_code}」で開始した データファイル更新処理が存在しません。データファイル更新API実行時のレスポンスに含まれているprocess_codeを指定してください。 指定した処理コードでデータファイル更新処理が開始していない

【レスポンスボディサンプル(リクエスト成功(code:「200」)/
データファイル更新処理中の場合)】

{ 
  "result": { 
    "code": "200", 
    "data_import_result": { 
      "status": "processing", 
      "errors": [] 
    }
  }
}

【レスポンスボディサンプル(リクエスト成功(code:「200」)/
データファイル取込設定が「[取込エラー時]エラーが含まれる行を削除する」場合)】

{ 
  "result": { 
    "code": "200", 
    "data_import_result": { 
      "status": "ok_skip", 
      "errors": [
        {
          "message": "Data import process succeeded. But 10 records has skipped because contained any errores."
        }
      ] 
    }
  }
}