データの格納場所を生成する際に用いるWeb APIです。
データ基盤にアップロードするデータに発送元拠点コード・発送先拠点コードなどのメタデータを付与するために格納先を生成します。
メタデータの有効が確認され、格納場所の生成が正常に終了した際には格納場所と紐づいた有効期限付きのデータIDとその有効期限が返却されます。
確保した格納場所はデータIDの有効期限内にデータが格納されなかった場合、破棄されます。
図2.1 データ格納準備APIの呼び出し関係
作成した伝票データIDが既存のIDと重複していないか確認し、重複していた場合は再度伝票データIDを作成します。重複したIDがないことを確認できるまで繰り返します。
メタデータと検索用パラメータをデータベース(FUJITSU Software Enterprise Postgres)に登録します。
項目 | 値 | 備考 | ||
---|---|---|---|---|
APIエンドポイント (相対URI) | /upload | |||
HTTPメソッド | POST | |||
HTTPリクエストヘッダ | Content-Type | application/json | ||
Authorization | Bearer {token} | 今版では使用できません | ||
HTTPリクエストボディ | data_type | 必須 | データ種別識別子 | 10:出荷予定データ 20:出荷確定データ |
src_location_code | 必須 | 発送元拠点コード | GLN:国際標準の企業、事業所コード | |
dst_location_code | 必須 | 発送先拠点コード |
curl -i -s http://<開発実行環境サーバのIPアドレス>:<ポート番号(注)>/upload -H "Content-Type:application/json" -d "{\"data_type\":\"20\",\"src_location_code\":\"0010\",\"dst_location_code\":\"0020\"}"
注)インベントリファイルのapi_tomcat_portに設定した値を指定
項目 | 値 | 備考 | |
---|---|---|---|
HTTPステータス | int(3桁) | 正常時200、異常時は後述 | |
Locationヘッダ | Location | リソース作成先URI | 正常時、リソース作成場所を表示 |
HTTPレスポンスヘッダ | Content-Type | application/json;charset=UTF-8 | |
Transfer-Encoding | 符号化方式 | ||
Date | 日付 | ||
HTTPレスポンスボディ | ticket_id | 伝票データID | 20桁 |
deadline_date | 有効期限日時 (JST) | YYYYmmddHHMMSS形式 メタデータ格納時点から設定ファイルに記載された有効時間を追加した時間 |
HTTP/1.1 200 Location: /database/dbtech Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Wed, 09 Jun 2021 04:39:03 GMT {"ticket_id":"05974539295586651223","deadline_date":"20210609135403"}
HTTPステータスコード | メッセージ | 利用場面 |
---|---|---|
200 | OK | リクエストの処理に成功した |
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が一時的に処理を行うことができない |
HTTPステータスコード | メッセージボディ |
---|---|
200 | リクエストが成功してリソースの作成が完了したことをHTTPステータスで、作成されたリソースの作成場所をロケーションヘッダで表示 |
400/500番台 | エラーコードと説明文を表示 |
形式
分類 | 内容 |
---|---|
code | エラーの詳細な種類(HTTPステータスコードではない) |
message | エラーメッセージ本文 |
HTTP/1.1 400 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 | リクエストボディの形式が誤っている(JSON形式でない) |
400 | 002 | データ種別識別子の値が設定されていない |
400 | 003 | 発送元拠点コードの値が設定されていない |
400 | 004 | 発送先拠点コードの値が設定されていない |
400 | 101 | データ種別識別子の値が不正である |
400 | 102 | 発送元拠点コードの値が不正である |
400 | 103 | 発送先拠点コードの値が不正である |
401 | 201 | 認証用トークンによる認証に失敗した |
403 | 202 | アクセスが許可されていないユーザーのアクセスによる認可エラー |
405 | 206 | 指定以外のHTTPメソッドを指定された |
408 | 204 | データへのアクセスがタイムアウトした |
413 | 205 | リクエストボディのサイズが上限値を超えた |
500 | 301 | 予期せぬエラーが発生した |
503 | 303 | API側の不具合によるエラー |
POSTメソッドを用いるため無効
発行したticket_idの有効期限内にデータアップロードAPIを用いてデータをアップロードしなかった場合、本APIで発行したticket_idは削除されます。
リクエスト送受信時の通信タイムアウトは300秒(注)です。
注)これらのパラメーターはユーザーによる変更はできません。変更を希望する場合はシステム管理者への依頼が必要となります。