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

2.5.1 データ格納準備API

2.5.1.1 概要

データの格納場所を生成する際に用いるWeb APIです。

データ基盤にアップロードするデータに発送元拠点コード・発送先拠点コードなどのメタデータと検索用パラメータを付与し格納先を生成します。

メタデータの有効が確認され、格納場所の生成が正常に終了した際には格納場所と紐づいた有効期限付きの伝票データIDとその有効期限が返却されます。

確保した格納場所は伝票データIDの有効期限内にデータが格納されなかった場合、破棄されます。

検索用パラメータは、検索キー名と検索値のリストとしてデータ格納準備APIで登録しデータ検索APIのリクエストで指定することで、検索条件に合致する伝票データIDのリストを取得することができます。

データ格納準備APIで指定する検索用パラメータの検索キー名は、事前にシステム管理者が定義したものを使用します。

事前に定義された検索用パラメータは「検索用パラメータ定義内容取得API」を使用して定義内容を参照することができ、「検索用パラメータ名定義更新API」を使用して定義内容を更新することもできます。

システムの上限として、各情報区分コードに対する検索用パラメータの最大数は20個とします。

図2.2 データ格納準備APIの呼び出し関係

作成した伝票データIDが既存のIDと重複していないか確認し、重複していた場合は再度伝票データIDを作成します。重複したIDがないことを確認できるまで繰り返します。

メタデータと検索用パラメータをデータベース(Fujitsu Enterprise Postgres)に登録します。

2.5.1.2 リクエスト設計

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

項目

備考

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

/upload

HTTPメソッド

POST

HTTPリクエストヘッダ

Content-Type

application/json

Authorization

任意

Bearer  {token}

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

HTTPリクエストボディ

data_type

必須

情報区分コード

4桁までの任意の値(数字文字列)を指定することができます

例)

出荷予定データの場合:10

出荷確定データの場合:20

src_location_code

必須

発送元拠点コード

GLN:国際標準の企業、事業所コード

拠点コードを13桁の数字で指定します

発送先、発送元に同一のコードを指定可能です

dst_location_code

必須

発送先拠点コード

search_items

任意

検索用パラメータ

配列では下記のオブジェクトを指定します

  • key

  • value

オブジェクトは最大で20個とします

key

任意

検索キー

定義された検索キーを指定します

変換後の値を登録する検索キーの指定はXpathの検索に則った形式または英数字(文字列)で指定してください

groupの値を検索値とした場合の例を以下に示します

  • 属性値で指定されている場合
    /test/recode/@group

  • テキストノードで指定されている場合
    /test/recode/group/text()

value

任意

検索値

検索キーをXpathの検索に則った形式を指定する場合指定した値が検索値となります

検索キーを英数字(文字列)で指定した場合、Valueで指定した値が検索値となります

例)
curl -i -s http://<開発実行環境サーバのIPアドレス>:<ポート番号(注)>/upload -H "Content-Type:application/json" -d "{\"data_type\":\"20\",\"src_location_code\":\"0000000000010\",\"dst_location_code\":\"0000000000020\"}"
注)インベントリファイルのapi_tomcat_portに設定した値を指定

参照

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

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

2.5.1.3 レスポンス設計

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

項目

備考

HTTPステータス

int(3桁)

正常時200、異常時は後述

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レスポンスボディ

ticket_id

伝票データID

20桁

deadline_date

有効期限日時 (JST)

YYYYmmddHHMMSS形式

メタデータ格納時点から設定ファイルに記載された有効時間を追加した時間

例)
HTTP/1.1 201
X-Request-Id: cdf9b2ce-5181-4c6f-b503-450873087bf9
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Location: /database/dbtech
Cache-Control: no-cache
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 26 Jan 2022 02:52:47 GMT

{"ticket_id":"05974539295586651223","deadline_date":"20210609135403"}
2.5.1.3.2 HTTPステータスコード

HTTPステータスコード

メッセージ

利用場面

201

Created

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

400

Bad Request

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

401

Unauthorized

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

403

Forbidden

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

404

Not Found

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

405

Method Not Allowed

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

408

Request Time-out

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

413

Request to large

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

500

Internal Server Error

APIで障害が発生した

503

Service Unavailable

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

2.5.1.4 メッセージボディ

HTTPステータスコード

メッセージボディ

201

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

400/500番台

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

2.5.1.5 エラーメッセージ

形式

分類

内容

code

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

message

エラーメッセージ本文

例)
HTTP/1.1 400
X-Request-Id: 8a0fb3eb-0e6a-44d4-9869-c46d63e9191a
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: Tue, 08 Jun 2021 16:20:24 GMT
Connection: close

{"error_codes":[{"code":"103","message":"Invalid dst location code."}]}

エラーリスト

HTTPステータスコード

エラーコード

内容

400

001

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

400

002

情報区分コードの値が設定されていない

400

003

発送元拠点コードの値が設定されていない

400

004

発送先拠点コードの値が設定されていない

400

006

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

400

101

情報区分コードの値が不正である

400

102

発送元拠点コードの値が不正である

400

103

発送先拠点コードの値が不正である

400

108

検索キー名が不正である

400

110

検索値が不正である

401

201

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

403

202

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

405

206

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

408

204

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

413

205

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

500

301

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

500

303

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

500

その他

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

503

303

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

2.5.1.6 キャッシュ

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

2.5.1.7 注意事項