ページの先頭行へ戻る
Big Data Integration ServerV1.6.0 EDI連携/DB連携編ユーザーズガイド

2.5.2 データアップロードAPI

2.5.2.1 概要

データをアップロードする際に用いるWeb APIです。

本APIを使用するには、データ格納準備APIでticket_idを発行している必要があります。

変換ルールのファイルPATHとアップロードしたいデータを送信することで、個社形式のデータを標準形式に変換した上で格納することができます。データ変換には変換ルール実行機能が用いられます。

正常に格納が完了した場合は登録日時が返却されます。

クエリパラメータで指定した変換ルールのファイルPATHが開発実行環境サーバからアクセスできない場合はエラーレスポンスが返却されます。

指定したticket_idがない場合エラーレスポンスが返却されます。

データ変換が異常終了した場合やタイムアウトした場合はエラーレスポンスが返却されます。

ファイルフォーマットにファイルの読み込み対応していないフォーマットが指定された場合は、エラーレスポンスを返却します。

変換後の処理でエラーが発生した場合は、すでに登録されているデータはロールバックし、変換後のファイルを削除します。

図2.3 データアップロードAPIの呼び出し関係

(1) curlコマンドなどでデータをAPIサーバへ送信

(2) データベース(Fujitsu Enterprise Postgres)から、指定された伝票データの存在確認のため、メタデータを取得

(3) 指定した変換ルールと個社形式の伝票データをAnyTranに送り、データ変換を実施

(4) 変換したデータを共有ファイルシステムに格納

(5) アップロードした伝票データIDのアップロード完了フラグを更新

(6) 登録日時を業務アプリケーションに返信

2.5.2.2 リクエスト設計

2.5.2.2.1 リクエストフォーマット

項目

備考

APIエンドポイント (相対URI)

/upload/{ticket_id}

クエリパラメータ

conv_rule_file_path

選択(注)

変換ルールのファイルPATH

設定した変換ルールのファイルPATHを使用する場合は、以下の条件を満たす必要があります

  • 開発実行環境サーバからアクセスできるPATHであること

  • 絶対PATHであること

  • 日本語を含まないPATHであること

conv_rule_idパラメータを指定する場合は本パラメータを指定することはできません

conv_rule_idパラメータと同時に指定した場合はエラーとなります

conv_rule_id

選択(注)

変換ルールID

変換ルールIDを利用する場合は、以下の条件を満たす必要があります

  • EDI連携機能セットアップ時にconvert_rule_sharing_use = yesを指定していること

  • 変換定義共有機能に登録済みの変換ルールファイルの管理用IDであること

conv_rule_file_pathパラメータを指定する場合は本パラメータを指定することはできません

conv_rule_file_pathパラメータと同時に指定した場合はエラーとなります

HTTPメソッド

POST

HTTPリクエストヘッダ

Content-Type

application/octet-stream

Authorization

任意

Bearer  {token}

使用する認証サービスのユーザー認証用トークンを指定します

HTTPリクエストボディ

アップロードデータ

ファイルを指定します

注)conv_rule_file_pathパラメータまたは、conv_rule_idパラメータどちらかの指定が必須です。

例)
curl -i -s "http://<開発実行環境サーバのIPアドレス>:<ポート番号(注)>/upload/<発行されたticket_id>?conv_rule_file_path=/var/tmp/conv_rule_file1" -X POST -H "Content-Type:application/octet-stream" --data-binary @/var/tmp/data.txt
注)インベントリファイルのapi_tomcat_portに設定した値を指定

参照

Apache Tomcatに配備されたAPIエンドポイント(相対URI)は、Apache Tomcatの設定により異なります。

Apache Tomcatに配備されたAPIエンドポイント(相対URI)の確認方法については、Apache Tomcatのオンラインマニュアルなどを参照してください。

2.5.2.3 レスポンス設計

2.5.2.3.1 レスポンスフォーマット

項目

備考

HTTPステータス

int(3桁)

正常時201、異常時は後述

HTTPレスポンスヘッダ

X-Request-Id

リクエストID

リクエストを一意に示す値

X-Frame-Options

DENY

X-Content-Type-Options

nosniff

X-XSS-Protection

1; mode=block

Location

リソース作成先URI

正常終了時、リソース作成場所を表示

Cache-Control

キャッシュに関する情報

Content-Type

application/json;charset=UTF-8

Transfer-Encoding

符号化方式

Date

日付

HTTPレスポンスボディ

create_time

登録日時 (JST)

YYYYmmddHHMMSS形式

search_items

Xpathの検索に則った形式の場合に、key/Valueの内容が返却されます

それ以外の場合は、空(null)となります

配列は下記オブジェクトを要素に持ちます

  • key

  • value

key

検索キー

value

検索値

例)
HTTP/1.1 201
X-Request-Id: 121ec022-ad15-438a-bd30-be7227289fa8
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Location: /data
Cache-Control: no-cache
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 20 Jan 2022 05:25:21 GMT

{"create_time":"20220120142519","search_items":[]}
2.5.2.3.2 HTTPステータスコード

HTTPステータスコード

メッセージ

利用場面

201

Created

POSTメソッドによりリソースが作成された

400

Bad Request

リクエスト違反(必須項目が空など)や他の400番台が適さない

401

Unauthorized

認証されていない、または認証に失敗した

403

Forbidden

認証以外の理由でリソースへアクセスできない

404

Not Found

サーバがリクエストされたリソースを発見できない

408

Request Time-out

リクエストがタイムアウトした

405

Method Not Allowed

指定以外のHTTPメソッドを指定された

413

Request to large

リクエストボディが大きすぎる

500

Internal Server Error

APIで障害が発生した

503

Service Unavailable

APIが一時的に処理を行うことができない

2.5.2.4 メッセージボディ

HTTPステータスコード

メッセージボディ

201

リクエストが成功してリソースの作成が完了したことをHTTPステータスで、作成されたリソースの作成場所をロケーションヘッダで表示

400/500番台

エラーコードと説明文を表示

2.5.2.5 エラーメッセージ

形式

分類

内容

code

エラーの詳細な種類(HTTPステータスコードではない)

message

エラーメッセージ本文

例)
HTTP/1.1 400
X-Request-Id: 66de8bcb-b5e9-4a1f-9ba8-84ffb1b5e694
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 09 Jun 2021 07:41:16 GMT
Connection: close

{"error_codes":[{"code":"112","message":"Invalid convert rule file path."}]}

エラーリスト

HTTPステータスコード

エラーコード

内容

400

001

リクエストボディに誤りがある

400

005

変換ルールIDの値が設定されていない

400

006

リクエストヘッダの指定(Content-Typeなど)に誤りがある

400

007

コマンド実行時、ファイルが選択されていない

400

008

本版では未使用

400

009

変換ルールのファイルPATHの値が設定されていない

400

104

変換ルールIDの値が不正である

400

108

本版では未使用

400

109

標準形式のファイルを解析できない

400

111

ファイルフォーマットの値が不正である

400

112

変換ルールのファイルPATHの値が不正である

401

201

認証用トークンによる認証に失敗した

403

202

アクセスが許可されていないユーザーのアクセスによる認可エラー

404

203

  • 存在しない伝票データにアクセスした(ticket_idに誤りがあるか、または発行したticket_idの有効期限が切れている)

  • 格納抽出API設定ファイル(setting.properties)のticket_data_dirまたはapi_tmp_dirパラメータが不正

404

303

API側の不具合によるエラー

405

206

指定以外のHTTPメソッドを指定された

408

204

データへのアクセスがタイムアウトした

413

205

リクエストボディのサイズが上限値を超えた

500

301

予期せぬエラーが発生した

500

302

データ変換に失敗した

500

303

API側の不具合によるエラー

503

007

コマンド実行時、ファイルが選択されていない

503

303

API側の不具合によるエラー

2.5.2.6 キャッシュ

POSTメソッドを用いるため無効です。

2.5.2.7 注意事項